JIT: support paired load/store with MMU on

Also change the calling convention for paired load/store functions, since
EAX get clobbered by the memcheck'd loads.
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.
JIT: de-inline branches marked as unlikely