I imagine that a Flash fallback would be more practical in most situations.

Does Flash have a direct OpenGL API, trivially wrappable to JS?

IIRC JoGL is a thin JNI wrapper around libgl. As such it exposes the OpenGL C API quite directly, which in turn gets wrapped to JS, probably through some automated generator and a sprinkle of glue code.

When I say "in most situations" my implication is that for most 3D applications in the browser such low level interaction with the 3D API is not necessary. Most people building things with WebGL in the future will not be working with WebGL directly, but through an abstraction layer like three.js[1]. This could easily be extended to use Flash as an alternate renderer (say, for people running IE).

[1] https://github.com/mrdoob/three.js/