JIT: support paired load/store with MMU on
JIT: make memcheck macros more generic

Can now be inverted, plus they support short jump opcodes.
JIT: fix memcheck on stXx
JIT: fix memcheck on float load/store, plus some corner cases
JIT: add "far code emitter" to reduce L1I cache pressure
JIT: use far code emitter in more places
JIT: avoid redundant flushes in some obvious cases

If we're about to end a block, we're going to need to flush anyways, so
don't do it on a branch just before the end. Saves instruction cache size.

This can probably be made a lot smarter.
Fix caller-save registers on windows