Fix property reseting

Visibility reset
Revert "Removing NPOT checks since it’s required by GLES2 and has been universally supported by Macs since at least 2007."

This reverts commit 1bd2e1136b4526518099fdde95f9b5d4bf3e553d.
Merge branch 'v3.1' of https://github.com/cocos2d/cocos2d-iphone into v3.1
Fix instant ease for non instant actions
CCEffects - New initializers / constructors to glass, reflection, and refraction.

Add versions of the initializers and constructors that do not have a normal map parameter since it
is optional on the effect and can be taken from the sprite instead.
Merge remote-tracking branch 'upstream/develop' into develop
CCEffectsTest - Actually stack two effects in the stack test
CCEffect - Fix vertex shaders when stacking / stitching

The outputs of stacked vertex shaders were still adding together instead of feeding one into
the other as pipeline stages. This meant that odd things were happening with vertex values
(xy position would stay the same but the w coord would change) which lead to unexpected
results when using gl_FragCoord in reflection and refraction math.

The fix is to treat vertex shader inputs and outputs the same as we do with fragment shader
inputs and outputs. To this end I've refactored buildEffectShader so vertex and fragment
shaders are handled by a common code path.
CCEffectsTest - Update stack test

Make constants match for glass, reflection, and refraction.
CCEffectsTest - Update the stack test

Stack refraction then reflection to make sure the results are the same as glass. They are
so long as everything is configured correctly.
CCEffectReflection - Add shininess property

This is an overall control of the affected sprite's shininess that works something like this:

finalColor = baseColor + reflectedColor * shininess * fresnelReflectance

Set it to zero and you see none of the reflected environment. Set it to one and the effect
is completely controlled by the fresnel term.
CCEffectGlass - Add shininess property.

It functions identically to the property of the same name in CCEffectReflection.
CCEffectGlass / Reflection - Properly condition the shininess, fresnel bias, and fresnel power.

Make sure these are all within their valid ranges.
CCEffectPixellate - Remove misplaced semicolon
CCEffectReflection - Remove unused helper function
CCEffect - Fix signed / unsigned comparison warnings when dealing with pass counts and indices

Since passes are held internally by an NSArray, make the wrapping accessor methods use NSUInteger
for counts and indices as NSArray does.
CCEffectGaussianBlur - Fix signed / unsigned comparison warning in CCEffectGaussianBlur
CCEffects - Fix assertion failures when texture + normal map are missing

Under certain circumstances, the effect renderer could allocate a render target
with 0 x 0 dimensions which resulted in a GL error and assertion failure. Those
circumstances were:

- Sprite has no texture
- Sprite has no normal map
- An unstitchable effect stack is attached to the sprite

This is now fixed in the following ways:

- The effect renderer's render target dimensions now come from sprite.contentSize
not just sprite.texture.contentSize. This means that if the sprite has a normal map but
not a texture, the resulting size will come from the normal map instead of being 0 x 0 as
it was before.

- If the computed render target size is still 0 x 0, it is bumped to 1 x 1.

- An assertion on 0 x 0 dimensions is added to the render target allocation code
so this sort of error is caught higher up in the stack in the future.
CCEffectRenderer - Don't use the node's default shader for render target copy operations

When direct rendering is disabled or when stacking and not stitching, don't use the affected
node's default shader (probably color*texture) to do compositing operations. Instead we just
want texture to be unmultiplied by node color.

Create a texture only shader to do these texture-only compositing passes.
CCEffects - Change "varying" to "varyings" to match our use of "uniforms" elsewhere

No functional change