[HLSL] Codegen for indexing of sub-arrays of multi-dimensional resource arrays (#154248)
Adds support for accessing sub-arrays from fixed-size multi-dimensional global resource arrays.
Enables indexing into globally scoped, fixed-size resource arrays that have multiple dimensions when the result is a smaller resource array.
For example:
```
RWBuffer<float> GlobalArray[4][2];
void main() {
RWBuffer<float> SubArray[2] = GlobalArray[3];
...
}
```
The initialization logic is handled during codegen when the ArraySubscriptExpr AST node is processed. When a global resource array is indexed and the result type is a sub-array of the larger array, a local array of the resource type is created and all elements in the array are initialized with a constructor call for the corresponding resource record type and binding.
Closes #145426