This patch simplifies and improves the mix-in of the TileOp. In
particular:
- Accept all types of sizes (static, dynamic, scalable) in a single argument sizes.
- Use the existing convenience function to dispatch different types of sizes instead of repeating the implementation in the mix-in.
- Pass on None values as is of optional arguments to the init function of the super class.
- Reformat with default indentation width (4 spaces vs 2 spaces).
- Add a a test for providing scalable sizes.