Modify structure type in SPIRV dialect to support:
- Multiple decorations per structure member
- Key-value based decorations (e.g., MatrixStride)
This commit kept the Offset decoration separate from members' decorations container for easier implementation and logical clarity.
As such, all references to Structure layoutinfo are now offsetinfo, and any member layout defining decoration (e.g., RowMajor for Matrix)
will be add to the members' decorations container along with its value if any.
Could you put some doc for these two types?