Handle "OpenGL context lost" event on Android

- added a new runtime function `halide_opengl_context_lost` that resets all context-specific state held by Halide
- update HelloAndroidGL example to handle context lost events correctly
- extend example app to optionally render directly to the current framebuffer instead of going through a texture
- bring README file up-to-date
Also, the extern "C" here pulls it out of the runtime internal namespace that the surrounding code is in. I'd either actually drop out of the namespace, to be explicit, or add a comment explaining this. I've gotten myself confused before in the runtime when things that appear to be in the internal namespace aren't, because they're extern "C".