Add base project files
Add buffers, utilities, tests and omgl/__init__.py.

Add buffer, array_buffer and element_buffer.
Add tests for buffers. Not comprehensive at the moment.
Add omgl/__init__.py which flattens the project out.
Disable element_buffer.draw until we know what we want.
Add shader, program and tests, add gl and memoize.
Make dtype optional and assume float32.
Rename buffers to buffer.
Add more content to README
Initial commit of auto_shader.
Add glsl_{eq,gt,lt,gteq,lteq}, update decorator.

Add glsl_{eq,gt,lt,gteq,lteq} to auto shader
types, also added to decorator.
Decorator was still using old python 3 style magic.
Add 'name' to decorator to allow us to supply multiple
methods for the same function. Because Python doesn't let
us have multiple methods with the same name, at least not
after decoration.
Rename params to args in glsl decorator.
Add inheritance tests
Add load to program.
Add schematics to dependencies in README.
Merge branch 'feature/auto_shader' into develop
Remove default argument from test

There is no code to carry this value across from
the vertex shader into the program.
Make enable/disable accept both True/False
Add attributes to shader.

Attributes let you specify link time attribute locations.
Allow auto_shader to specify locations using it's variables.
Program accepts attributes from shader's _attributes property,
attributes passed in constructor will over-ride these.
Rename npdata to create.
Add comment regarding GL_HALF_FLOAT not being supported.
Add texture class.
Add note about GL_HALF_FLOAT.