Added dynamic lighting.

Refactored renderer to support multi-pass lighting. Added matrix data type. Added GLSL shader for lighting and updated other shaders to support lighting. Added light-related template argument parsing. Updated surface animations to correctly record their animation ID with their associated surface. Corrected the order in which rotations are applied to bones in animations.