CCEffectLighting and CCLightNode - Cutoff radius issues

- Do the lighting distance calculation in 2D. Even though lights have depth values, we should
  do the distance, radius, and falloff calculations in 2D since this is what the user will expect
  when they set a cutoff radius. If the distance calculations are done in 3D then light cutoff radii
  will appear to be smaller than expected.
- Set the default light depth to 100 instead of 500.
CCEffectLighting + CCLightNode - Non-linear falloff support

In addition to the cutoff radius, add a half radius value to CCLightNode. This is the distance at which
a light's intensity has fallen off to 50% of its maximum value. The half radius plus the cutoff radius is
used to construct a piecewise linear falloff function from (0,1) to (half,0.5) to (cutoff,0).
CCEffectUtils - Refactor common ancestor finding into its own function
CCEffectUtils - Refactor finding of transform from node to ancestor into its own function
CCEffectLighting -  Move lighting from sprite tangent space to world space

Tangent space doesn't work well when non-uniform scale factors are applied to sprites
and world space handles this better. World space may prove problematic when used with
CCRenderTexture though. More testing is required which is why this is currently in a side
branch.
CCEffectInvert added with ui test.
Merge pull request #1047 from NickyWeber/feature/CCEffectInvert

CCEffectInvert added with ui test.
CCEffectLighting - Link light cutoff radius to light scale

Extract the maximum scale value from each light's node to world transform and use it to scale
the cutoff radius value.
CCEffectUtils - Add a couple GLKMatrix2 helpers to CCEffectUtils
CCEffectLighting - Simplify and correct tangent and binormal setup

- Instead of doing all the math with GLKMatrix4 and GLKVector4, use the 2D versions instead since that's all we need.
- When finding the tangent matrix take the transpose of the inverse of the node's world matrix. This is the proper matrix
to use when transforming surface normals, tangents, etc. and will properly handle non-uniform scales in the world transform.
- When computing the binormal, don't bother doing a full cross-product since the normal is always (0,0,1) and the cross
product of this vector with any tangent is trivial (-ty, tx, 0).
Merge remote-tracking branch 'upstream/develop' into develop
Merge pull request #1044 from thayerandrews/develop

CCEffectLighting - Cutoff radius, falloff functions, coordinate system issues
Ensured that the shader is compiled according to the gl_es spec.
"extension directives must occur before any non-preprocessor tokens" - this requirement was not being met, thus causing assertions on some android devices.
Merge remote-tracking branch 'upstream/develop' into develop
Don’t enable GL_OES_standard_derivatives in the default fragment shader header.
Adding rough support for iPhone 6 and 6+.