The normal map is now a sprite frame and CCSprite has one too

- Change CCEffectRefraction's normal map from CCTexture to CCSpriteFrame.
- Add a normal map sprite frame to CCSprite.
- Promote the normal map to the default uniform set in CCShader.
- Change the GLSL for CCEffectRefraction to index the normal map with cc_FragTexCoord2.
- Add the plumbing needed to populate CCVertex.texCoord2 and cc_FragTexCoord2 from the normal map sprite frame. This comes from the sprite's normal map by default but can be overridden with the effect's normal map if it's present.
- Modify CCEffect's shader uniform management slightly to support all of this. 
- Update CCEffectsTest to set a normal map on the sprite and on the effect to test both paths.
Great. I'm glad to know this is inline with your thoughts. The one additional change I considered was to put the new method into some utility or helper class / namespace / file instead of keeping it in CCSprite. I left it in CCSprite for now until there's a strong argument to move it.