HLSL_CLASS_OBJECT does not really have much in common, and a lot of code currently uses it assuming that all objects are resources, which is not actually true. Most users of HLSL_CLASS_OBJECT want to check for specific types, and so we can simplify code a fair amount by promoting all object "base types" to top-level classes.
This series is a first step, comprising some cleanup towards that goal.
-- v3: vkd3d-shader/hlsl: Use hlsl_is_numeric_type() in type_has_object_components(). vkd3d-shader/hlsl: Simplify type_has_object_components().