glir: WIP on ripping gloo in two. Buffer implemented.

Buffer class is implemente via glir. Still need to simplify the
buffer class by removing local storage.
gloo: remove local storage from buffer
style and py2 syntax
gloo: address reviewer comments
glir: simple fix
glir: gloo buffer tests pass again
gloo: fix setting of _nbytes and _size, plus minor fixes
glir: restore GLObject.target for now
Fixing some issues; hopefully tests can pass again
glir: try fix errors
GLIR: gloo.Program now makes use of GLIR
GLIR: fix tests for gloo.program
GLIR: texture uses GLIR

But need a bit of cleanup etc.
Texture cleanup
flake
Fixed link in doc.
Clearer message when no app backends present.

See issue #582
Add PyQt5 backend.

Luke already did most of the work for this. I only added
the necessary backend module.

Someone should test this (on Windows).
Make PyQt5 work. Also allow other Qt backends on QtOpenGL importerror
fix typo