EMI: Initialize fields in Light and SetShadow.
EMI: Save and restore light falloff ranges. Fixes #997
Merge pull request #998 from Akz-/emi-lighting-fix

EMI: Save and restore light falloff ranges
EMI: Make sure that all cases are handled in setChoreAndCostume
GRIM: Stop a segfault when saving.
Merge pull request #1000 from JoseJX/FixGRIMSave

GRIM: Stop a segfault when saving.
EMI: Parse loop and start cues from .jmm files.
EMI: Implement synching of music tracks.
EMI: Implement fading of sound tracks.
EMI: Do not cross-fade music if no music track was previously playing.
EMI: Music sync value 0 means no synching.
EMI: Push also the iMuse state number to the state stack.
EMI: Parse the first parameter of ImPushState.

This fixes the credits music not playing in the main menu.
EMI: Pass a file path string instead of a file stream to SoundTrack::openSound.
EMI: Initialize EMISound instead of iMuse at engine startup.
EMI: Free channels that have finished playing.
EMI: Move initialization of sound effects to EMISound.
EMI: Free the sound channel immediately if sound track initialization fails.
EMI: Replace asserts with warning when trying to change parameters of a sound track that doesn't exist.
EMI: Do not expose the sound handle in SoundTrack.