EMI: Separate radius and center for mesh collision sphere
EMI/GRIM: Implement collision handling for EMI

- for solving the Monkey Kombat puzzle it is necessary that a kombat is
  triggered when Guybrush runs into one of the monkeys on the map
- implement SetActorCollisionMode and SetActorCollisionScale
- add EMI-specific calculations for retrieving the sphere data for the
  actors (and some minor refactoring for better readability)

The following changes may alter the behaviour in GRIM, too:
- in Actor::collisionHandlerCallback(), call the collision handler for
  both affected objects (that is necessary since only one actor may have
  a collision handler associated in lua but it may happen that the
  character with the handler is standing still and the other one is run
  into him)
- Actor::handleCollisionTo() did only update a given position to ensure
  that there is no collision - so it is necessary to actually check for
  collisions and execute the lua callback if necessary (via
  Actor::handleCollisionWith())
EMI: Fix costume unloading

- use the costumeName instead of a pointer to the costume object to
  check, whether the current costume matches the requested one
- this fixes an uninitialized pointer read
MYST3: Make sure to use the shortest direction when animating

Thanks klusark for noticing the issue in TOHO 5
BUILD: Refactor Android build
ANDROID: Cache memberlist in Archive

This reduces startup time on my HTC One from 37 seconds to 8!
ANDROID: Aspect ratio correction
ANDROID: Set target API level to 15; fix warnings
ANDROID: Support OUYA platform & controller
BUILD: add with-opengl-shaders
GRAPHICS: Introduce GfxOpenGLS
GRAPHICS: Emergency font [OpenGLS]
GRAPHICS: Text drawing [OpenGLS]
GRAPHICS: Support Smush [OpenGLS]
GRAPHICS: Background drawing [OpenGLS]
GRAPHICS: Loading and updating of GRIM/EMI models [OpenGLS]
GRAPHICS: Drawing of actors [OpenGLS]
GRAPHICS: Screenshots and specialty textures [OpenGLS]
GRAPHICS: Add Graphics::Framebuffer
GRAPHICS: Support sprites (WIP) [OpenGLS]