* [Refactor] Update swizzle layout functions to accept Buffer objects directly
* Refactor swizzle layout functions to take Buffer parameters instead of stride and continuous values, improving usability and consistency.
* Introduce helper functions to extract stride and continuous dimensions from Buffer objects.
* Update related functions and documentation to reflect the new parameter types.
* Enhance layout inference logic to merge swizzle layouts based on Buffer objects.
* Add new reshape functionality to the Layout class for better shape management.
* lint fix
* use layout.expand instead of reshape to lift a swizzled layout
* lint fix