Rewrote THUMB interpreter AGAIN >:I

We have an instruction byte code translation layer now so we can
translate the subroutine call into many fewer cases now. Switch with 85
cases comes in under Google V8's 127 limit and doesn't grind firefox's
recompiler (like when it was a 10 bit wide switch). =p
UNDEF some stuff

Make some undefined high reg stuff actually undefined
Remove Dynarec

Dynarec in JS is a bad idea. Too many functions patched together and
chained in real time is not optimized well in JS engines and cause
unstable fps.
Hint at typing
keep case 82 as default
typo fix
Optimized switch

For shitty JS engines that don't compile the switch to a jump table.
They should encounter less if/else'ing before the correct case now.
Remove some caching

Browsers slow path our cached function references too much, even though
they shouldn't.
Rewrote the memory system

Generate switches for nibble 24-27 decoding.
regression fixes
Prebuffer accuracy update
cleanup
Accuracy Update

Emulate a pre buffering bug. 128k alignment causes non-sequential.
cleanup
minor cleanup
Cleanup

Hopefully JITs can still optimize this. These are just folded into
default now.
Cleanup

Generate some functions on prototype in advance instead of at the start
of each game.
cleanup

Move decode table generation to page load and place on prototype.

Fix a typo in the html test page.
cleanup

Coprocessor extensions take the undefined instruction on a GBA anyhow,
and we already forward the function calls to undefined. Remove labels
for the coprocessor calls and just set undefined directly in the
referencing.
add missing type guards

Although we're gonna replace this file soon. =3