Provide instances of Interfaces.C.Pointers

 * GL.Types and GL.Algebra now provide instances of Interfaces.C.Pointers
   for the contained types.
 * generic functions that operate on arrays now take an instance of
   Interfaces.C.Pointers instead of an element and an array type as
   parameter.
 * Support glBufferSubData