ANDROID: Modify the touchscreen controls to make Manny run
ANDROID: Add control buttons on the Android screen

ANDROID: Removing some logging
ANDROID: Add resources
ANDROID: Add an emulatedKeypress function in the main Activity
EMI: Handling of invalid bone names

Two animations (guy_puton_cap, guy_holdstickystuff) contain bone names
which which don't match any joints. To avoid that the holding actor is
drawn with a wrong orientation, ingore the unknown bone names when
running the animations.

Skeleton::getJointNamed() will now return null for unknown names.
The original behaviour for Actor::getWorldPos and
Actor::getRotationQuat is kept.

This patch fixes the problem, that Guybrush is "lying down" once he
holds the bottle of glue.
EMI/GRIM: Fix rotation of attached actors

Use matrix multiplications to fix the rotation for attached actors:
- calculate the final transformation matrix recursively for attached
  actors (instead of using getWorldPos and getWorldRot)
- use a different order for building the quaternions out of the Euler
  angles
- changed handling of camera position (just apply the rotation of the
  camera, the (inverted) position of the camera and the position of the
  actor
- no functional changes for GRIM
- no changes for drawing in overworld

Code simplification for GRIM:
- no need to use _currentPos in calculations for GRIM since it is
always (0, 0, 0)

This fixes:
- the rotation of any items Guybrush is holding in his hands
- the handling of the pole when using the raft in the swamps
- getting the bananas with the banana picker
EMI: Fix position of attached actor

When attaching an actor to another one, set its local position
so that its final position (position of the parent actor + the
local position) remains the same as the final position before
it was attached.
BUILD: Conditionally include shaders
MYST3: Introduce shader-based renderer
MYST3: Move OpenGLTexture into separate file
GRAPHICS: Update system_headers.h for regular OpenGL
MYST3: Separate renderers into separate classes
JANITORIAL: Remove g_ prefix from instance variables
MYST3: Support Text rendering [OpenGLS]
MYST3: Reset viewport in menus
Merge pull request #825 from PoulpiFr/running-manny

ANDROID: Quick changement to the touchcontrols to let Manny run + Overlay buttons on screen
EMI: Update shader for actors and sprites [OpenGLS]
Merge pull request #834 from Botje/myst-es2

MYST3: ES2 backend
MYST3: Explain the texture size workaround used in the ES2 renderer
MYST3: Clamp cube textures in the ES2 renderer

This effectively implements GL_CLAMP_TO_EDGE in the shader
for 3D objects, solving the issue described in 61968c6.