Solved problem of webgl framebuffer contents not getting drawn to canvas.

Canvas is not the same object each time the visualization canvas object's
render method is called.  Therefore we cannot just initialize the webgl
stuff only the first time.  Instead, each time render is called, we need
to delete all the webgl state, and re-initialize everything, using the new
canvas elements generated by the render call.