Texture2D.GetData() Improvements

Pretty simple change... no testing really required here.

- Moved argument checking before platform code.
- Added more correct exception for iOS.