CCEffectReflection - Texture coordinate calculation experiments

Instead of using gl_FragCoord and doing a per-pixel mat4 multiply to get environment space
texture coordinates, use a slightly different matrix in the vertex shader and a varying value to
pass the resulting coordinates to the fragment shader.
CCEffectReflection - Some transform debugging code
Merge branch 'develop' into thayer/effectScreenSpaceCoordsAreOut
CCEffectStack - Match convenience constructor flavors to those in CCActionSequence

There is now an NSArray* version and a nil-terminated list version. This also introduces a
convenience va_list initializer but that's internal only.
Merge branch 'develop' into thayer/effectScreenSpaceCoordsAreOut
CCEffectBloom - Fix intensity math

The intensity value needs to multiply all instances of the source term in the screen
blending equation. Otherwise, even when intensity is zero, the source term is still
contributing to the final result which is not what we want.
CCEffectBloom - Fix threshold math

When applying the luminance threshold, don't check the luminance of the blurred result pixel and instead
check the luminance of the inputs to the blur operation. If the luminance of an input falls below the
threshold just use black as the input instead. Because the threshold happens before the blur, the
boundaries of the thresholded areas are still nicely blurred. Doing the threshold after the blur results
in hard boundaries that don't achieve the effect we want.

Note that the addition of the luminance calculation and the step() function does have a negative
performance impact. We're going with this implementation for now but this is an argument for
supporting multiple shaders / implementations per-effect. With multiple implementations, we could
select one that does not pay the performance penalty for the threshold check if it's not needed.
CCEffectsTest - Add effects with varying luminance thresholds to the bloom test
Merge remote-tracking branch 'upstream/develop' into develop
Merge branch 'develop' into thayer/effectScreenSpaceCoordsAreOut
CCEffectReflection - Fix NDC to world space computation

Instead of calculating this within the effect, calculate it in the effect renderer. The math is dependent
on whether or not we're rendering directly to the screen or to an intermediate render target and we
want to hide that from effects.
CCSprite - Fix texture coordinate setup from normal map sprite frame

If a sprite has a normal map but not a texture, we want to set up the texture rect from the
normal map. This was mostly implemented but because [setTextureRect: ...] referenced self.texture
it was broken. Instead of referencing self.texture in this case you need to reference the normal
map texture.

Fix this by refactoring the guts of [setTextureRect: ...] into [setTextureRect: forTexture: ...] which
takes the texture to use as a parameter instead of always using self.texture. Calls to the original
[setTextureRect: ...] just call through to [setTextureRect: forTexture: ...] supplying self.texture as
the texture parameter.
Merge branch 'develop' into thayer/effectScreenSpaceCoordsAreOut
CCEffectGlass / Refraction - Update glass and refraction to fix NDC to world space computation

This fixes issues that came up when these effects were forced to render to an intermediate render
target.
CCEffectsTest - Change saturation test from effect nodes to sprites
CCEffectsTest - Change reflection shininess value and the stack test
Merge branch 'develop' into thayer/effectScreenSpaceCoordsAreOut
CCEffectReflection - Remove debugging log statements
Merge remote-tracking branch 'upstream/develop' into develop

Conflicts:
	cocos2d/CCEffect_Private.h
Merge pull request #919 from thayerandrews/develop

CCEffects - Stack constructors, bloom fixes, and stacking fixes