[ARM] Beginning of JitArmIL JIT recompiler. This code is entirely based off of magumagu's work with the JIT64IL. This puts down the base needed for the recompiler. Starfield actually runs quite a few blocks being mysteriously dying while most other games just exit out due to an instruction not being done yet. A lot of this code can be tidied up and actually shared between the two IL recompilers but isn't yet done.
[ARM-JITARMIL] CMP optimization. Int3 IR. DownCount added.
[ARM-JITArmIL] Provide the necessary instructions to allow the JitArmIL to actually run. Disable branch instructions as well for now since one is wrong somewhere.
[ARM-JITArmIL] Begin merging of the two IL cores in to a common source base.
[JITArmIL] Fix JITIL compiling on x86.
[JitArmIL] Fix Windows build?
[ARM-JITArmIL] Remove the SystemRegisters file.
[ARM] Clean up LSL, LSR, and ASR emitters, we don't need a separate instruction for each to support registers.
[ARM-JitArmIL] Enable a bunch of instructions.
Add the JITIL Arm recompiler to the Android settings.
Add the Arm JITIL to DolphinWX.
Merge branch 'JitArmIL'
This implements a partial JITIL based off of the JIT64IL. It's enough to run most games, albiet at a slow speed.
Implementing instructions for this IL is really simple since it basically is just enabling based on what is already in JIT64IL, and then enabling each individual IL instruction.
Make JIT_UNLIMITED_ICACHE always on.

(1) The alternative doesn't compile.
(2) Despite "unlimited" sounding like a hack, it's actually
    significantly more correct then the alternative, which is no
    emulated icache.
(3) Easier to wrap my head around.
Minor JitCache cleanup.
Remove "deprecated" and unused function Read_Opcode_JIT_LC.
One shudders to imagine what inhuman thoughts lie behind that code.

(Read_Opcode_JIT and Write_Opcode_JIT read/write from unrelated memory
areas.*  Rename the latter and refactor.)

*except at the one specific exception handler where it doesn't.  I
have no idea what this is supposed to do, but it probably doesn't do
it correctly.  For now, remove the exception.
Remove more unused stuff.
Revert "{Android] Eliminate need for even using a byte array when copying assets over."

Turns out Android devs decided to opt for one of the most retarded ways of handling assets. Assets with some specific extensions are not compressed (png, jpeg, etc), and anything else is compressed. The AssetManager is so revolutionary, that you actually can't retrieve valid FileChannel descriptors from these compressed files! To add to this revolutionary system, they actually didn't give you a straightforward way of disabling this compression. Now using FileChannels are not possible, and thus we must use the much slower way of copying everything over. Thank you Android devs. Godforbid someone would like to use a non-array based way of copying things that's actually efficient, considering DMA access is possible with FileChannels.

This reverts commit 0dd32986b8308e72c64f337217f933f8a74913fe.
[Android] Actually show the currently selected CPU core and video backend within the settings screen.
[Android] Replace the getter for the adapter backing the GameListFragment with a function that simply clears the array adapter. Maintains encapsulation this way. Simplified the actual setting of the backing ArrayAdapter for GameListFragment; this allows us to make a class variable a method variable now.

Also fixed up the Javadoc for the OnGameListZeroListener.