JIT: micro-optimize cmpXX a bit more for lower latency/code size
JIT: use BLR optimization to avoid anding LR with 0xFFFFFFFC

Should save roughly one instruction per blr.
JIT: reorder blr comparisons

This should allow macro-op fusion in blr instructions.
JIT: optimize mulhwu
JIT: merge fcmpx and cror

Almost all uses of boolean condition-register ops in real code seem to be
the combination fcmpx + cror (e.g. for <= or >=). This merges the two.
JIT: optimize crclr special case of crxor
JIT: flush unused registers during branch merges

Also correct some flags in interpreter tables.
Add nunchuk support to tas input.
Merge pull request #1380 from RachelBryk/ext-tas-input

Add nunchuck support to tas input.
Merge pull request #1350 from FioraAeterna/integeropts

Various smallish JIT optimizations
MemArena: Fix a memory leak caused by pointer confusion

This code was ported from out_ptr, which was a double-pointer, and
wanted to double-check that the proper arena was actually allocated.

When I ported it to store the pointer directly in the view regardless
of whether out_ptr was non-NULL, I got confused here and instead
caused the code to only free the arena if the first byte was non-zero.
MemArena: Fix the calculation of position in SHM

The code to calculate the offsets into the SHM file wasn't properly
respecting the skip flags, causing it to calculate offsets beyond
the end of the SHM file.
MemArena: Merge the initialization code with the size calculation code

To make mistakes like in the previous commit less prevalent in the future.