buffer.by:
  tabs -> spaces
  added Buffer.dtype, shape, ndim.

gl_utils.py:
  fix for GL_HALF_FLOAT unavailable on older OpenGL

shader.py:
  Corrected nVidia error parser
  Added error parser for Nouveau driver
  Better handling for incorrectly parsed error messages
  Constants like GLsizei are only found in OpenGL.constants for older versions of pyopengl
  Added generate_enum_map function to support older OpenGL implementations
  Added convenience classes VertexShader and FragmentShader
  Added ShaderProgram.__setitem__ and __getitem__ for accessing uniforms/attributes
  Recommend removing ShaderProgram.__getattr__, Attributes.__getattr__; use getitem instead.
  Added Attribute.set_buffer to support OpenGL 2
Merge remote-tracking branch 'origin/master'

Conflicts:
	pygly/buffer.py
	pygly/gl_utils.py
	pygly/shader.py
bugfixes following previous merge