Real es2

This PR makes the Qt backend suitable for creating an EGL context, and adds the es2 gl backend. Together, this makes that we can now render using real OpenGL ES 2.0. The GLIR layer now takes care of the incompatibilities, like adding a `#version` pragma, adding precision qualifiers for ES2, removing precision qualifiers on desktop.

Having ES2 brings a couple of advantages:

- We can test visualizations on real ES 2.0 (in case something does not work on WebGL, its easier to track why)
- With minor modifications, vispy can run (efficiently) on the Raspberry pi
- ES2 (via Angle) provides a very robust GL implementation on Windows. 

What we still need to do (but not necessarily in this PR):

- make all examples work with ES2
- documentation on how to write GLSL that works both on desktop and ES2
- make it work on Windows
- make it work on Raspberry Pi
- make it work well on Linux. Although the EGL context seems correctly "coupled" to the QWidget, I was unable to make the visualization appear. So now euhm ... we do a read_pixels() and then copy that into a QImage which is then shown. 
ditto