Bindings for OpenGL texture binding functions

Includes a `withBoundTexture` function which works around a problem where textures can be garbage collected while still bound to the OpenGL context. I'm not quite happy with this solution but it works and I don't have any better ideas right now. Simple bind and unbind functions are exported as well (`glBindTexture` and `glUnbindTexture`).