Implement new type attribute __LinAlg_Matrix_Attributes that will be used to specify matrix component type, dimensions, use and scope (this includes enabling C11++ -style attributes in DXC).
Add two new AST types that will combine the builtin handle type __builtin_LinAlg_Matrix with the new attribute into a unique Clang type representing a specific matrix configuration.
We need to add two new types in order to represent a matrix handle with specific parameters as well as a handle with template-dependent arguments.
See parent issue for more details.