Wraps a gl interface in another gl interface.
either the input argument or another GL object that wraps the input argument.
a GL interface that is meant to be wrapped.