Creates the shared descriptor set layout used for all 2D image descriptors.
The layout consists of a single combined image sampler at binding 0, visible to the fragment shader stage. This matches ImGui's internal descriptor set layout exactly, making all allocated descriptor sets directly consumable by ImGui's pipeline without any additional setup.
Must be called once during renderer initialization, before any VulkanImage2D instances are created. The resulting layout is stored in s_ImageDescriptorSetLayout and used by VulkanImage2D::Invalidate() to allocate per-image descriptor sets independently of ImGui's lifecycle.