Callers now have to use Gawain's COMP enum to specify vertex attributes. This makes the API more bullet-proof (at least less vulnerable) since GLenum covers waaay more than component types. Also prepares us for Vulkan.