Introduce two contexts to keep WebGL and 2d separate.