Merge pull request #3 from MasDennis/master

Master merge
Smart Materials

Improved base materials and `AMaterial` to enable super simple
Alpha/Spec/Normal mapping
Fixed regression

GouraudMaterial was accidentally regressed and lost uLightColor
calculations.
Merge pull request #438 from Davhed/smart-materials

Smart Materials - Clean branch
Added spot type light
Relocated ambient light contribution
Merge pull request #458 from Davhed/gouraud-fix

Bug fix - Relocated ambient light contribution in GouraudMaterial
Merge pull request #460 from AndrewJo/master

Clean up for Plugins during scene destruction
Merge pull request #463 from AndrewJo/master

Destroy method in IRendererPlugin
Merge pull request #465 from AndrewJo/master

Bug fix in the light-camera angle calculation in lens flare
Spot light model and shader calculations
Improved spotlight atten and spec, fixed ToonMat
Merge pull request #467 from Davhed/spot-light

Added `SpotLight`
Merge pull request #475 from AndrewJo/master

Mipmapping support for compressed textures
Merge pull request #491 from AndrewJo/master

Switch from FloatMath to Math
Stopped reloading uninitialized PostProcessingRenderer

If the PostProcessingRenderer has not been initialized and mTextureSize
is still set to -1, attempting to reload it will raise a GL error.
Copy paste error
Merge pull request #514 from AndrewJo/master

Pitch, yaw, and roll for Camera
Merge pull request #507 from Kazetsukai/master

Prevent reloading of uninitialized PostProcessingRenderer in RajawaliRenderer
Added synchronization checks to all uses of mChildren and mPlugins

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>