Refactoring & other tweaks

* Move some Android JNI setup from app creation to be on-demand
* Remove old Android device OpenGL state hacks
* Remove build system code for Android API level < 9 that was dropped some time ago
* Drop ARM from default Android build architectures, now use only ARMv7 and X86
* Reorganize Android base code
* Reorganize parts of Base::Window and related classes
Fix some 1.5.20 beta regressions

* Fix incorrect config filenames due to removal of CONFIG_BASE_USES_SHARED_DOCUMENTS_DIR macro
* Fix some situations that generate an invalid viewport when no animations are running
* Fix iOS build and define NSArray firstObject for ARMv6 since it's not present in the 5.1 SDK
Various Fixes

* Apply enabled cheats when starting a game in Snes9x EX
* Set iPad on-screen control size defaults after system-specific ones so they aren't clobbered
* Compile fixes for upcoming OSX build
Refactor some Android and file path functions
Refactor all soft-orientation handling out of Base module into Gfx and add new orientation APIs to Base
Make GLContext class a thin wrapper for better thread safety and split out configuration state
Add newer Universe BIOS versions to NEO.emu and fix builds using old path functions
Use a custom view instead of GLKView on iOS for better control of framebuffer state, and add GLContext methods accepting a cached current context
Various Fixes

* Use 16-bit color video effect FBOs for now to improve performance on older GPUs
* Fix some Android regressions and OUYA build
Code cleanups in Gfx module and add cached version of glVertexAttribPointer
Additional Fixes & API Additions

* Add more functions for working with FrameTimeBase
* Add frame debug statistic methods to Screen
* Add readAtPos method for Io
* Add enable_if wrapper for convenience
* Add free function constructor for DelegateFunc
* Add functions for timing blocks of code
* Update various metadata scripts and add LEANBACK_LAUNCHER for Android TV
* Remove more obsolete macros/code for Android < 2.3
* Fix various correctness issues in Android Bluetooth code
Add test app for checking frame timing