Well, you can simply use the toDataURLwebgl canvas method to convert it to an image. Then draw it in the context of 2d.
ctx2D.drawImage(webGLCanvas.toDataURL("image/png"), 0, 0);
, , preserveDrawingBuffer webgl true .
...getContext("webgl", {preserveDrawingBuffer: true});