Properly resume emulation is app suspends & resumes without losing window focus
Remove va_list usage in various functions and replace with more efficient C++11 perfect forwarding
Refactor EmuFramework into a separate static library and move all includes to emuframework subdirectory
Add new low-level IO modules (replaces old "Io" ones), also fix some possible crashes with cheat text entry and make some misc cleanups
Separate frame update from drawing code, and make some tweaks to Android window resize/redraw handlers
Replace BaseMenuView with new TableView class
Various input-related and misc updates

* Remove all ASCII key code conversions and replace with key constants
* Remove dedicated evdev key mapping and always map to-from system map
* Add new member to input events that maps non-system keys to the closest equivalent key
* Add new input event function for converting to a printable string, used for X11 text entry
* Add iOS keyboard support via intercepting events in UIApplication and hook up iCade support
* Fix broken AAssetIO::open
* Tweak some gamepad profiles to be more consistent
* Temporarily disable surfaceless EGL usage due to Nvidia Shield driver bug in Android 5.0
Update Android metadata with 5.0 and TV entries, set Material theme on app start
Minor fixes and Refactoring

* Don't use setvbuf in GBA.emu rom loader due to performance issues
* Display popup messages on the external screen when not using mirroring
1.5.22

* Fix some usage of new IO class and add missing mmapConst() implementations
* Don't add standard C++ lib to pkgconfig files and defer until final app link
More IO fixes, replace Android TV banners with correct sizes