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.
Initial renderer plugin architecture
Changes to accomodate plugin system
Fixed typo that creeped in from LensFlare code
Added methods to add/remove plugins
Fixed a bug for null buffer textures on reload

Certain types of textures get initialized with null buffer which will be
filled in later via glCopyTexImage2D. However null buffer textures
currently causes NullPointerException on TextureManager class during
reload as it tries to guess the texture size from a null Bitmap.
Initial commit for LensFlare plugin
Fixed a major concurrency bug

Currently, mTextureInfoList is a regular ArrayList which is not thread
safe. It causes all sorts of concurrency issues with the GLThread when
the list is modified by another thread. This has a nice side effect of
now allowing dynamic texture allocation during the render loop which is
helpful for binding framebuffer to texture on-the-fly.
Shader performance improvement and bug fixes

Added performance improvement for non-vertex texture version of fragment
shader.

Also fixes issues on Nvidia GPUs where GLES20.GL_FUNC_ADD is not
properly supported.
Merge pull request #447 from AndrewJo/master

Renderer Plugin Architecture
Added getLookAt() method

Added a getLookAt() method which can be useful if one is trying to
determine where the object is looking at. Currently used to calculate
the camera direction vector in LensFlarePlugin.
Merge pull request #457 from AndrewJo/master

Added getLookAt() in ATransform3D
Merge pull request #438 from Davhed/smart-materials

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

Bug fix - Relocated ambient light contribution in GouraudMaterial
Added cleanup for plugins for onDestroy()
Fixed array out of bounds bug

Added index bound checking for AccelerateDecelerateInterpolator.
Merge pull request #460 from AndrewJo/master

Clean up for Plugins during scene destruction