Draft: vkd3d-shader/hlsl: Make semantics on struct variables cascade down onto the struct's fields.
The primary change in this patchset is 4/4. The other 3 are necessary for 4/4, but they're probably good changes on their own, so I separated them out.
This is marked as draft because it touches a lot of parts in the codebase I haven't touched before, so I want to make sure I'm doing everything right.