Goes atop MR 388 and 401. The last five commits belong to this MR.
-- v3: vkd3d-shader/dxil: Implement the DXIL EXTRACTVAL instruction. vkd3d-shader/spirv: Support scalar swizzle of vector SSA registers. vkd3d-shader/dxil: Implement DX instruction CBufferLoadLegacy. vkd3d-shader/dxil: Implement DX instruction CreateHandle. vkd3d-shader/dxil: Move the register_address_init() index parameter to position 2. vkd3d-shader/dxil: Read CBV descriptors. vkd3d-shader: Emit IR CBV declaration sizes in bytes. vkd3d-shader/dxil: Validate the descriptor list metadata nodes. vkd3d-shader/spirv: Align constant buffer sizes to 16 bytes.