Add support for real ES 2.0 (alt PR)

This is an alternative PR to #593 which is fully squashed just to see the size difference.

- rename angle to es2 and implement for Linux
- add dummy backend (each function raises error)
- Gloo initialize (for desktop/es2) compat implemented better
- gloo.gl handle desktop/es2 compat in GLIR
- Compat for initializing point sprites for desktop.
- Compat for modifying shading code.
- Program can now read variables with precision qualifiers.
- Qt now supports EGL on Linux. We can run real ES 2.0!