Jit IR

Initial implementation of an "IR"  (intermediate representation) for the recompiler. May allow some advanced inlining and reordering optimizations in the JIT over time.

Does not seem to affect performance much if at all, at the moment.

Tested on ARM and x86/x64. Want this in before I start working on the ARM64 JIT.
Yes, the IR should do them - after constructing the IR, loop through it and determine which memory ranges need to be added. I haven't gotten around to implementing that yet...