Goes atop MR 403, 401 and 408. The last four commits belong to this MR.
-- v2: vkd3d-shader/dxil: Implement the DXIL BINOP instruction. vkd3d-shader/spirv: Handle the UMUL instruction. vkd3d-shader/spirv: Introduce an IDIV instruction. vkd3d-shader/spirv: Introduce an FREM instruction. 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: Replace register_address_init() with register_index_address_init().