Fix for #361 from @gena-m. 

Redo the handling of the texture frame instead of using the raw texture content size. Also using the InitWithTexture instead of overwriting the sprite texture. Tested on GL and XNA. Some DX cards need the CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL compile option to make the control switch and TileMap code work properly. That's for another PR.