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/GRIM: TextSplitter::checkString should ignore case

All other methods of TextSplitter ignore the case: the strings of the
splitted text are changed to lowercase and other strings provided via
arguments are compared case-insensitive.
Merge pull request #810 from chkr-private/smush-movie-issue

EMI/GRIM: TextSplitter::checkString should ignore case
GRIM/EMI: Fix sprite scaling with non-native screen resolutions

When mapping a sprite to a GL polygon its dimensions are scaled by the ratio
between the current screen resolution and the native game resolution. When
the polygon is rendered it is scaled again, causing sprites to be displayed
unproportionally big when using larger screen resolutions.
Merge pull request #808 from inguin/sprite-scaling

GRIM/EMI: Fix sprite scaling with non-native screen resolutions
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
EMI/GRIM: Fix unaligned sprites and use correct axis

When an actor which is drawn using sprites moved due to water float
effects and if that actor uses multiple sprites, then these sprites are
not aligned (e.g. in the very first scene, the ship in the background is
not shown as one piece).

That is because the sprites are first rotated and then moved to
the correct position. It is necessary to first move them to their
correct position on the actor and then rotate the whole actor.

Additionally, non-overworld sprites needs to be rotated by the Yaw axis.
Otherwise the ship did not rock but only moved vertically.

This changes fixes:
- the ship in the background in the first scene
- the clock hands in the swamp
EMI/GRIM: Allow integer arguments for MakeSectorActive

The first argument of MakeSectorActive can be either a string or a
number. If a number is used by the lua call lua_isstring will also return
true (see engines/grim/lua/lapi.cpp) and so the correct code which
handles the integer case is never called.

This patch reverses the order of the tests via lua_isstring and
lua_isnumber.

In EMI this fixes the following:
- big monkey head on Monkey Island stays open even after set or setup
  change
- the lights in the bank on lucre island stay off until Guybrush turns
  them on
- shadow of Pegnose's nose is visible in close-up camera view
Merge pull request #812 from chkr-private/sprite-fixes

EMI/GRIM: Fix unaligned sprites
Merge pull request #816 from chkr-private/sector-fixes

EMI/GRIM: Allow integer arguments for MakeSectorActive
BUILD: Fix a typo in configure help

Thanks Botje for noticing
MYST3: Add support for the 1.2 NL version

Botje's version
EMI: Fix crash when restarting the game

ResidualVM's EMI patch installs a custom version of system_prefs.loadprefs
which maps config reads to GetResidualVMPreference() calls. The original
system_prefs.cfg is saved and used as source for default values. When
the custom loadprefs function is called a second time (i.e. when using
the New Game option in the main menu) any config read results in an
endless recursion.
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