JIT: unify subfe/submex/subfex/adde/addmex/addzex code

Shorter, plus should make future optimizations easier.
JIT: unify subfcx and addcx code

Again, shorter and should make future optimizations easier.
Fix AArch64 MOVI2R helper function.
In the case of a zero immediate, it wouldn't generate code at all.
Also in the case of max u32/u64, use ORN to optimize it.
Fix all the current issues with the AArch64 register cache.
Fixes all the current issues I've been experiencing.
Scaled back the register cache idea for now so I can actually work on some real instructions.

Tested this work with unit tests so I know it works.
Unit tests are pretty great things.
JIT64: optimize carry calculations

Omit carry calculations that get overwritten later in the block before they're
used. Very common in the case of srawix and friends.
JIT64: optimize carry calculations further

Keep carry flags in the x86 flags register if used in the next instruction.
PPCAnalyst: refactor, add carry op reordering and non-cmp reordering

Tries as hard as possible to push carry-using operations (like addc and adde)
next to each other. Refactor the instruction reordering to be more flexible
and allow multiple passes.

353 -> 192 x86 instructions on a carry-heavy code block in Pokemon Puzzle.
12% faster overall in Pokemon Puzzle; probably less in typical games (Virtual
Console games seem to be carry-heavy for some reason; maybe a different
compiler?)
PPCAnalyst/JIT: add ability to easily toggle branch and carry merging
UnitTests: Fix misplaced braces in the x64Emitter tests
Merge pull request #1078 from lioncash/brace

UnitTests: Fix misplaced braces in the x64Emitter tests
InputCommon: Initialize NSDictionaries using literal syntax.
Merge pull request #1079 from lioncash/lol-objc

InputCommon: Initialize NSDictionaries using literal syntax.
Fix Fastmem in JitIL for massive speed gains.

JitIL's fastmem was stubbed out when Sonicadvance1 merged JitARMIL
into the tree. Since JitARMIL has been deleted, I simply re-arrange
the inheritance to base JitIL on Jitx86Base, so it can inherit the
backpatch function.

Povray Benchmark: 1985 seconds to 1316 seconds.
Kill off the wx casts within InputCommon and GLInterface.

All because someone didn't actually return the wxWindow handle for the edge case.
Merge pull request #1075 from phire/jitil-fastmem

Fix Fastmem in JitIL for massive speed gains.
JIT: fix JIT with conditional continue off, again
MMU: properly check MEM1 range on Gamecube games

Fixes at the very least Rogue Squadron II crashes.
Merge pull request #1082 from FioraAeterna/fixccagain

JIT: fix JIT with conditional continue off, again
x64Emitter: add LZCNT/TZCNT support and detection

Also add a unit test.
JIT: use LZCNT in cntlzw