Create shader.hpp

Initial 'proposal' for basic shader and program classes
updated to match naming conventions
Basic version of shader, vba and vao classes 'done'
Not very featurefull, but at least it is a start, a talking point.
Split 'buffers' into two files
Added pragma once
Made buffer calss more flexible
Can handle different 'modes' of functioning
Still to work out how exactly I want to pass the data in to be buffered
Texture class added
Update README.md
corrected issues with texture class
Had to remove call to 'gl::TextImage3D' as it seem to not have been defined by glload
I possibly need to just update my verions of glload
Vertex and Array classes now moveable
move-afied Shader and Program classes
Fixed few typos in VertexBuffer
Added VertexBuffer.bufferSubData to mirror glBufferSubData
Made this function templated as well as bufferData to allow buffering any type of data
Merge branch 'master' into thecoshman

Conflicts:
	README.md

Introduced gl id handler class and updated shader classes to make use of it
Still not fully happy with how this class works, but it's getting there
Started work on allowing Glid to use other types of delet functions
Trying to update Texture to std::bind the delete function so it can be passed to the Glid instance
Re-worked how the Glid class works.
Delete function is now templated into the glid instance.
This may or maynot be a good thing, might be a better way to do it.
Currently still requires the delete function to be passed to the Glid class twice, once as a type once as a value.
Updated texture class to use Glid
Converted Glid.get() to conversion operator
Added texture wrapping options
Organsing go!
Texture Dimmension is now templated into the class, rather than just varaible data.
Texture options pulled in via a seperate file, in their own namespace.
Program and Shader class split into to files.
unnaming namespaces
reworked how glid class works and is used.
Is much easier to use and understand in my opinion, but does result in a wall of warnings