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