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: make memcheck macro support an inverted mode
JIT: fix memcheck with stXx
JIT: fix memcheck on float load/store, plus some corner cases