GRIM: Enable screenshot saving on ES2
EMI: Reroute AttachActor/DetachActor to debug channel
GRIM/EMI: Check for collissions in setPos

- check for collissions in setPos(), too
- the boats in EMI's lava puzzle need collission handling,
  but they are moved solely via putActorAt
MATH: Don't normalize a (0, 0, 0, 0) quat

- this fixes the issue of the vanished boats in EMI's lava puzzle
- without the patch, the division by 0.0f causes the quat's values
  to be NAN
- the floating point NAN value is ignored by OpenGL, so the vertices
  are not drawn at all
Merge pull request #1108 from chkr-private/lava-puzzle-fixes

Bug fixes for the lava puzzle
EMI: Refactor ranges sound volume handling

- LUA code uses a range of 0 .. 100
- the LUA group volumes are in the range 25 .. 100, otherwise the sound
  group is muted
- residualvm engine uses a range of 0 .. Audio::Mixer::kMaxChannelVolume
- do all conversion in lua_v2_sound.cpp
- all other parts of the engine will solely use the engine internal
  range
- when reading/writing the registry residualvm continues to use
  a special conversion for compatibility with the volume settings
  of the residualvm engine settings
- proper handling of volumes close to 0.0f in SoundTrack::updatePosition()
EMI: Set movie volume to SFX volume setting

- movies are played as kPlainSoundType
- set the kPlainSoundType volume to the same value as
  the kSFXSoundType volume