Changes required to support android.

The new android support uses GL2, so we need to change some defines
to use it.
Force use of shaders on android.

The auto-detect code fails on ES.
Merge branch 'master' into android
Improve OpenGL ES2 support.
Use python+tkinter to prompt for the projects directory.

Fixes #77.
Bump version.
Start work on documenting the python statements.
Work around fonts that don't have the ZWSP (U+200b) character.

We use ZWSP in input so we properly size an empty line. Some fonts
do not include this character, and replace it with an undefined
character glyph (often a square).

This fix prevents Ren'Py from rendering the ZWSP, making the
problem invisible to the user.
Write .zip files out in large chunks.

Previously, we would load entire files into RAM, compress the entire
file, and write out the compressed data. This was breaking down on
large .rpas, hence the change.
Ensure an over-full video queue can't starve the audio queue,
and vice-versa.
Merge branch 'master' into android
Quit the display when doing a forced resize (like when clicking the
Window preference.)

This prevents the possibility of spurious resize events, and also
prevents the black bars from appearing on the screen after such
a resize.
Do not translate the who-prefix or who-suffix if new-style
subsititutions are disabled.
Change memory profile to show the differen between the number of
objects at each call.
Bound the layout cache size.

This helps ensure that code that creates many text objects in a
single interaction will now consume unbounded memory if it lets
those Text objects be GCed.
Prevent memory leaks via the rollback log.

Before this change, code that created and then immediately modified a
list, dict, set, or object that was rollback-able would cause a small
memory leak until the end of the interaction.
Predict images used in ATL transforms that are part of show/scene
statements.
Do inexpensive prediction while displaying frames.

This involved breaking the prediction coroutine, and the context
prediction routine up further. By predicting one statement at a time,
we can interleve predicitions with frame display, and prevent
dissolves or ATL transforms from starving the image predictor, at
least in simple (non-screen) cases.
Fix random segfaulting related to TTF lookup tables, especially on shift+R.

The segfaulting occured when a TTF Font contains a GSUB table with a
Lookup type other than one. This caused us to initialize a data
structure that represents the lookup table, but never fill it in.

Rarely, one of these tables would hava field initalized to 1 or 2. In
that case, we'd try to free associated data that was never properly
initialized, and we'd crash.

The fix was to intialize the data structures before use.
Sort SpriteManager sprites by their zorder.

Thanks to Kinsman for the fix.