* Added texture superclass
* exported gl-texture and gpu-array-t symbols
Added resource freeing functions to all cgl types:
 - buffers, gpuarrays (buffer and tex),
* Added the concept of managed gpu-array-b and gpu-stream. This means that if
  a parent resource is created implicitly as a by product of the object that
  when the object is freed the parent resource will be also. For example
  if you make a buffer backed gpu-array and dont provide a buffer to use it
  will create one. When the gpu-array (or arrays) are (all) freed then the buffer
  will be as-well.
* added gl-free which will free any cgl type
* vao pool has been removed.. it was never used
* Update todo list
* Update package to new features
Woops forgot these from last commit
Remove buffer pool...it didnt add anything and put control in cepl rather than the user
* Added functions for generating data for primitive meshes.
  I doubt this will live here for long.
* I have also added the type 'p-n-t to cgl so it can be used
  without having to define it yourself. It makes sense as it
  is so common.
Data made by cube-data was in an incorrect format
* Primitves is now it's own package, it will stay living in cepl
* gpu-streams and vao had an argument called :indicies-array which is ugly.
  It is now :index-array
* Added the make a primitive example to show how easy it is to make a primitive
  in opengl using cepl. Obviously people can expand on this to ease of use and
  speed, but it feels good to know how that is all very generic code.