[Android] Change the settings menu a little more. Instead of the settings being a single view with settings from all components being displayed, I have broken it into sections. This future-proofs the settings menu in the sense that it won't get cluttered before people start asking "Hey, shouldn't this be broken into sections?".

As of this commit, it is broken into CPU Settings and Video Settings.
I also simplified the code that is responsible for setting the valid CPU cores and video backends by simply making UI string arrays that get chosen, based on the platform the Android device is running on.
Correctly check for AVX support in x64CPUDetect

It's not enough to check for the CPUID bit to know if AVX is supported since
AVX requires OS support (new set of registers == more registers to be saved
when context switching). If the OS does not support, the cpuid bit will still
be set but using YMM registers will cause an illegal exception fault.
[Android] Simplify saving settings to the ini file. Since the setting names are known, there's no reason to loop through them.

This will likely be simplified further very soon.
[Android] Decouple Dolphin.ini config file saving from GameListActivity. It doesn't make sense to save the config AFTER control is returned from PrefsFragment to GameListActivity, since the main purpose of PrefsFragment is to handle the user settings. So, instead, we call SaveConfigToDolphinIni() in the PrefsFragment.onDestroy() method. This way, when the PrefsFragment object is being 'destroyed', it will write the settings to the ini.
[Android] Remove the loading toast messages from the UI. These really don't need to be here since the things they were used for took very, very little time to load.
[Android] Turn SaveConfigToDolphinIni() into a static method. Now saving settings to the ini config just uses one call in PrefsFragment.onDestroy().
[Android] Forgot to document the new parameter used in SaveConfigToDolphinIni() in the last change. Fixed that.
ogl: remove glBindFragDataLocation

Without dual source blend, we have only one output per fragment shader,
so this is bound to zero by default.
ogl: use texture_2d instead of renderbuffer for realxfb + efb2ram fbo

It should do the same on gpu, but textures are more flexible.
eg we could copy and sample them directly without blitting.
ogl: fix the range of glDrawRangeElements

This range isn't the amound of rendered vertices (this is count).
It's the minimum/maximum of the indices in the index buffer.
Gameini database update. Fix Metroid Prime 3: Corruption settings that got deleted by the clean up of revision e5f4586356cc. Fix/clean up various stuff that showed up in the process of searching for other regressions (there weren't any).
ogl: explain why pinned memory is disabled for index buffer
[Android] Add most of the Dolphin video/gfx settings to the settings menu.
[Android] Load all of the new settings from the ini when the app is launched.

- Also fix a typo in the ini saving method in UserPreferences. Accidentally spelt the ini name wrong.
- Also include the relocated XML preferences. I meant to push this with the previous commit.
[Android] Hopefully fix buildbot's ant build.