This commit adds angle-based validation and translation to WebGL
shaders.
The changes to the tex_image_2d test is neccessary (it was not valid
GLES 2.0 shader language).
To actually make the multiprocess communication work, we'll need to
reroute the task creation to the pipeline or the compositor. But this
works as a first step.
This improves the encapsulation and consistency in our WebGL
implementation.
Also allows to implement new methods such as `getShaderSource()`.
It will also allow us to use `delete()` in the destructors of them (note
that we will want to keep track of them from the context).