Bindings for OpenGL texture binding functions

Includes a `withBoundTexture` function which works around a problem
where textures are garbage collected while still bound to the OpenGL
context. I'm not quite happy with this solution but it works for now.
Simple bind and unbind functions are exported as well.