Adds InstanceProxy, DeviceProxy, QueueProxy, CommandBufferProxy.
These act similar to the wrapper types, except that they
store and implicitly pass their respective handles.
This unifies command info even more, by making the user first construct
a list of `ApiInfo` to represent the api that they want to use. This
allows for much easier composition of different extensions and features.
A long time ago there was the idea to use src/ for something else,
but that is no longer relevant. Its nice to switch to a more
conventional repo layout.