GRIM: Set g_grim to nullptr in the deconstructor
EMI: GetActorPuckVector should return nil for actors that have never followed walkboxes.

In Lua, The wear chore of dumbshadow.cos is only started if GetActorPuckVector returns a non-nil value. In the original game GetActorPuckVector seems to always return nil until a call is made to SetActorFollowBoxes.

This fixes the candles not appearing in the set gmi. The original Lua code only starts the candle animation if the candle actor is not playing any chores. Previously the wear chore of dumbshadow.cos was playing, so the animation was never started.
EMI: Don't set global alpha to 0 when light mode is set to LIGHT_NONE.

Fixes sprites not appearing in various places. For example the lights on Stan's house now show up.
EMI: Add support for additively blended sprites.
EMI: Read vertex color values from sprite files.

This makes the coals in wed more transparent, matching the original game better.
EMI: Draw model faces with alpha textures also to the depth buffer. Fixes #874
EMI: Initialize _texc, _verts and _layers in the constructor of BitmapData.
Merge pull request #941 from Akz-/emi-savecrash-fix

GRIM/EMI: Always initialize the fields of BitmapData
MATH: Fix indentation for matrix4.
MATH: Add a selectable Euler Order to Rotation3D.
EMI/GRIM/MYST3: Replace some Quaternions with Rotation3D.
Merge pull request #936 from JoseJX/ExpandRotation3D

MATH: Allow Rotations to have a selectable Euler Order
EMI: Skip chores that are internally marked as stopped when drawing components.

The playing chores list may contain chores that have been stopped during the current frame. Stopped chores will be removed from the list on the next costume update. Drawing stopped components caused flicker when entering the closeup at Stan's house.
EMI: Sprite drawing fixes for OpenGL Shaders renderer.
EMI: Read depth write and alpha test flags from sprite files.
EMI: Print warning if an unknown blend mode value is encountered when parsing a sprite file.
GRIM/EMI: Move implementation of setFollowBoxes from header to source file.
EMI: Clean up sprite drawing in OpenGL.
EMI: Share Materials between Costumes.

Sometimes a texi component may refer to a material that was initialized by some other costume than the owner costume of the texi component. For example, the candles in gmi have a costume "fx/aura1.cos" that controls the animation of a material originally initialized by a sprite component of "fx/candle.cos".
EMI: Sprite fixes for TinyGL renderer.

Note that most of this is currently commented out due to lack of proper blending in TinyGL. Once blending is properly implemented the commented out parts can be enabled.