Fixed bug when using multiple spot lights

This change improves the light calculations for `SpotLight` in each of
the base materials so that multiple spotlights can now be used.
Issue #591 Incorrect texture coordinates
Merge pull request #592 from Davhed/spot-fix

Fixed bug when using multiple spot lights
Merge pull request #594 from ToxicBakery/animation-rewrite

Animation rewrite
Animations could potentially crash due to removing or adding listeners during playback. Instead of a complex queue system I opted to just throw exceptions if changes are made during playback.