Improvements to gloo.gl and its tests.

- selecting of glDepthRange vs glDepthRangef is now better.
- revert default gl backend after each test module.
- Catch glGetShaderPrecisionFormat when not available.
Use requires_non_glut rather than requires_qt in gl tests
Unstructured2D canvas example.
Takes unstructured 2D locations, with corresponding 1 or 2 dimensional
scalar "values". Plots the values looked up from colormaps and
interpolated between the locations.
Clean up:
Edited the header and module docstring.
Removed unused timer and keypress events.
Changed the example data to better showcase what it does.
Modified to satisfy make flake.
autopep8
Corrected the header
Use opengl function even if bool(func) is False

Sometimes it seems to work anyway: Nico reported this for
glBindFramebuffer and glGenerateMipmap.
Merge pull request #203 from per42/feature/unstructured_2d

Unstructured2D canvas example.
Improve how missing GL functions are dealt with in desktop GL.
small fix in comment
Fix for glDepthRange and glClearDepth on some systems

Rougier and Eric both have systems where the newer version
(glDepthRangef and glClearDepthf) is not available or does not
work.
gl/test_basics.py run desktop tests in debug mode.

This touches all the same functions, but when something goes wrong
on the gl side we get a better error report.
Fix loading of OpenGL lib on OSX.

Also raise error if the lib could not be found. Previously
the lib was not found on osx, resulting ctypes in loading
a null-lib or something, which acted as a sort of proxy
for *any* loaded lib. This error was undetected for quite a while
because the opengl lib was loaded by PyOpenGL or an app backend.
See #201
Small change to trigger Travis build
Fix test: check for error after calling getShaderPrecision...
Merge pull request #201 from almarklein/gl-tests++

Improvements to gloo.gl and its tests.
ENH: Split Travis tests
ENH: Add line endings check
STY: Spacing