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.