OpenGLES 2 support

This branch includes a brand new two-thread engine (plus the Activity thread) that uses OpenGLES 2 calls to draw primitives into the screen.