Fix Texture2D.GetData() on GLES platforms

Fix and Simplified Texture2D.GetData()
Works on both iOS and Android (Tested on iPad Mini 1st Gen, iPhone 6, Nexus 7 1st Gen and Nexus 5)
Removed superfluous large memory allocations

WARNING: Only renderable surface formats are supported. The previous code looked like it supported GetData on DXT texture but it will fail since opengl doesn't support attaching a compressed texture to a FBO.