Added OpenGL Shading Language base interface

Starting in OpenGL 2.0, a shading language was added that adds the
ability to more finely control the rendering pipeline.  GLSLObjects are
similar to GLObjects but are not bound to the current context to be
used.  As such, the base interface only extends GLIndexed and
GLDeletable.