closed #2359: Sprite will become white block when using CCControlSwitch.

setShaderProgram should not be in Sprite::setTexture since setTexture is not related to shader.
Developer has responsibility to reset shaderprogram when texture is changed from NULL to non-NULL or from non-NULL to NULL.