test changes
Ok so I am rewriting the gl-arrays stuff from scratch as I have
been learning some techiques for cffi that I didnt know before.
Basic multi-dimensional foreign arrays work now, so you can get
and set :vec4 arrays for example. defglstruct basics work but I
now need to add methods to pull and push data to arrays of these.

Once that is done I will be looking at complex combinations of the
above and how to manage data so you cant push a overly complex
gl-array to a vertex gpu-array.
Made some small changes and am looking at destructuring populate,
though in this commit it is incorrect
Added new destructuring-populate. Need to look at getters and setters for structs next
Added the concept of gl-values for complex foreign items e.g. structs.
The idea is that each foreign type will subclass gl-value for their own
type and then define their slot getter and setter methods against this.

I also tidied up some argument terminology in cffi-extra-primitive-types.lisp
Now giving a list of data to make-gl-array's :initial-contents key
then it performs a destructuring-populate. There will be no
destructuring-allocate.
Spun off glstructs into their own file
Created stubs for struct getters
Copied in the attribute-assigner generators from the old defglstruct.
This creates a function which enables and sets up the
'vertex-attrib-pointer's for the given struct type.
Added the generic gl-assign-attrib-pointers to cepl-gl-new-types.lisp
This is needed so that simple types can be used as vertex arrays.
Moved cepl-gl files into a subdirectory
* Added basic setters and getters - these are not finished yet :)
* Fixed bug where all new primitive cffi types were of length 3
* Fixed bug where make-gl-array always tried to destructuring-populate
* changed print style of gl-values
* When you access a struct slot which is an array it now returns a gl-array
* added make-gl-array-from-pointer
* Working out how to handle structs with struct members
* started porting the gl-buffers. I'm still working out how to handle
  multiple dimensions (if at all)
* I am deprecating cepl-gl-types.lisp and cepl-gl.lisp as th new solutions grow
* Moved math code into its own subdirectory
Have split the old code into more sensible files and will now work on
updating them
* Renamed all gl-arrays to c-arrays which feels much better now
* I have started updating cepl-gl-buffers.lisp as I am changing the
  internal format of gl-buffers to be more in-line with how cffi
  foreign data works.
* Renamed files inside cgl to remove redundant characters
* correctly a couple of small errors in package.
  This will need a thorough go through once all th changes have
  been made.
* Started working on buffer-gpu-arrays.lisp
* Still working on buffer-gpu-arrays, I have removed location from
  make-buffer as it was making things to complicated. (the location
  argument allowed you to pass in a buffer and it would pull the whole
  buffer locally append the new data and upload it again...it was just
  ugly and slow)
* fixed some bugs in buffers.lisp
* Edited the doc string for make-gpuarray