Added interface for OpenGL objects that can be bound

Certain objects in OpenGL need to be bound to the current context to be
used by OpenGL.  This interface specifies the way in which an OpenGL
object can be bound and unbound.