GRIM: If ActorLookAt is called with an actor as the target, look towards the actor's head instead of their origin. Fixes #887
EMI: Make SCXTrack behave like MP3Track in regards to isPlaying
GRIM: Refactor SetAmbientLight
MISC: Add copyright notice from glm
MISC: Add copyright notice from glm
MISC: Add COPYING.MIT
EMI: Enable backface culling. Fixes #900
Merge pull request #921 from Akz-/emi-contract-fix

EMI: Enable backface culling. Fixes #900
Merge pull request #891 from Akz-/grim-lookat-fix

GRIM: If ActorLookAt is called with an actor as the target, look towards...
EMI: Make sector name comparisons match GRIM and EMI. Fixes #873 and #895.
EMI: Use a hash map for joint lookup by name.
EMI: Move methods that require animation state information from AnimationEmi to AnimationStateEmi.
EMI: Store joint indexes to avoid joint lookup by name in each animation step.
MATH: More efficient matrix multiplication implementation for 3x3 and 4x4 matrix specializations.
EMI: Save and restore chore instance IDs.

Previously chore instance IDs stored as Lua userdata became invalid after
loading a save, because the chores were recreated with different IDs. This
caused certain opcodes like StopChore to fail.
EMI: Fix compatibility with older savegames.
Merge pull request #923 from Akz-/emi-anim-perf

EMI: Animation performance optimization
GRIM/EMI: Fix bridge height check. See #842
GRIM/EMI: Remove bridge length check.
MATH: Return false in intersectLine2d if lines do not intersect.