Information about the contents of and in which stages descriptors may be bound to a descriptor
set at a certain binding point. Multiple DescriptorSetLayoutBindings are assembled into
a DescriptorSetLayout, which is then allocated into a DescriptorSet using a
DescriptorPool.
DOC TODO: Grasping and remembering the differences between these
types is a tough task. We might be able to come up with better names?
Or even use tuples to describe functionality instead of coming up with fancy names.