WebGL: Add MouseDownFunc and RenderFunc callback hooks

RenderFunc renders a single frame instead of the existing continuous
form. The MouseDownFunc is called when mouse button is pressed over
the corresponding canvas.
nit: change tab to space in lib/webgl/__init__.js