VideoCommon: merge debug info generators
VideoCommon: merge debug test generators
OGL: draw shadows within rasterfont itself
[AArch64] Improvements to the AArch64 emitter.

Fixes issues with negative offsets in loadstore instructions.
Adds ADRP/ADR instructions.
Optimizes MOVI2R function to take advantage of ADRP on pointers, can change a 3 instruction operation down to one.
Adds GPR push/pop operations for ABI related things.
[AArch64] Removes ARMv8 as a generic target.

Generic flag disables the ability to have backpatching supporting.
Also compiles Dolphin with CRC instructions enabled.
[AArch64] Register cache improvements.
Adds the ability to flush the cache and maintain state.
Adds the BindToRegister ability.
Sorts register usage as callee saved used first, reduces dumping pressure when jumping to external routines/interpreter.
Adds a function to store a register, for use when flushing a register that won't be used during the rest of a block.
[ARM] Adds a ArmCommon folder.

Moves the backpatch flags and struct to a common location for ARM.
I'm sure there will be more things that use this common ARM location in the future.
[AArch64] Removes CODE_SIZE variable.

This is in a global location now which conflicts with this one.
[AArch64] Add an exception exit function with the exit location already in PC.
This will be used with idle skipping later.
[AArch64] Optimization in the dispatcher.

Align our dispatcher to a page so we can jump to it with a ADRP+BR pair instead of ADRP+ADD+BR.
Also make sure to save /all/ of our callee saved registers that we are supposed to save.
Requires PR #1705 prior to merging.
[AArch64] Flush registers from register cache if they won't be used again.

This requires PR #1705 and #1723 prior to merging.
[ARMv7] Minor integer fastmem optimization.

This is a one instruction optimization for integer loadstores.
Makes sure to enable nop padding in some cases where a fault can still happen and cause us to overwrite other instructions that aren't meant to be.
Merge pull request #1736 from degasus/osd

OSD
Merge pull request #1705 from Sonicadvance1/AArch64_emitter_fixes

[AArch64] Improvements to the AArch64 emitter.
Merge pull request #1731 from Sonicadvance1/ARMv7-minor-optimization

[ARMv7] Minor integer fastmem optimization.
JIT: Fix redundant MOVs in x86 trampolines

Fixes spammy log messages about redundant MOVs.
Eliminate some spammy log messages in MMU mode

dcbz: just don't use GetPointer, that can't be right anyways
ppcanalyst: don't print "instruction hex 0" messages in MMU mode, where ISIs
are expected.
Merge pull request #1753 from FioraAeterna/fixredundantmov

JIT: Fix redundant MOVs in x86 trampolines
Frame: Fix a crash-on-exit on Mac OS X.

A null pointer exception is triggered when Dolphin is quit from the dock.
[AArch64] Adds backpatching routines.
Currently supports only integer loadstores. Floating point loadstores will come later.

This system is semi based on the ARMv7 backpatching routine, where we need to initialize our backpatch routine sizes prior to actually using them so
we know we won't be overwriting any memory.