Made some really nice progress here but last night I had some
ideas on how I could bring a real abstraction over buffers, vaos
and streams whilst still keeping the core opengl style
functionality as close to opengl-proper as possible.

I think I have a solution but I need to write it in code to see
if I'm right. Hence this new branch!

Good things to come people!
I am part way through the overhaul of cepl-gl.
It is coming along very well and I hope to have the new
abstractions in place within the next few days.

I have already been able to make gl-arrays and set & get their
data without issue. I am looking now at gpu arrays and how I can
forfill the ideas in my 'new-data-abstraction-idea' plan whilst
still making it practical.

Right, thats all for tonight!
This still isn't tested yet and I know there are beefy bugs in
here but i have made some significant progress.

I have glstructs working well weven though they have seriously
ugly code. I'll be honest that alot of this will need going
over once I'm nearly done!

One things that has been wonderful is being able to read data
back from the GPU. GPU-arrays are abstractiosn that provide
an array like interface to GPU memory. It is lovely to be able
to maps a GPU-array to a GL-array (a local one) and the access it
just like any other GL-array (using gl-aref and struct getters).

This will be HUGE for repl based iteritive development as you
don't have to keep track of the source data to be able to go and
make in-line changes to data on the GPU.

I am now working through the example code, making sure the
original opengl style codee still works and then addign examples
using this new system of data management.

Hopefully I'll be in a position to merge back into master in
a few days.

Wish me luck!
Many changes a-foot here, cant write them up right now.
I will do so for the next commit though, many good changes here.
I have some more cosmetic stuff to do and also to rewrite the examples
but then I'm happy to merge.
Goodnight!
Getting closer and close to being able to merge back to master

I have at-least a crappy doco string for every new function in
cepl-gl and am workin through the examples.

There is plenty I don't like in cepl-gl and I will be going back
to make it better but right now I just want to ship something
that works as that will give me a place to stand and make
judgements about whether what I do next consitutes and
improvement or not.

Must sleep now
Added license information to relevent files and am prepping for the
merge. Just need to get the examples back in business now.

I'm going to merge with just the examples for the old style of doing
things and will slowly add the updated versions.
Removed example 5 as it was for glop and we are not currently using
that. Hopefully this can be revisited.

Night all
Some damn problem I'm not understanding with loading model formats.
Got to work this out.
Ahah! Turns out the problem I was having was that I didnt
take into account that symbols are bound to their packages
so the case statement in the model loading code was having
issues.

It's bodge fixed for now. The main point of this commit was
to get the examples working with the rejigged cepl-gl code.
I have rewritten a few of the examples using the gpu-array
functionality but am not worried about doing all of them
before merging.