sh4: initial simulator import
cctest: add macro to call the simulator on the test

This avoid jumping in the sh4 code when the simulator should be run.
cctest: add missing caller-save push/pop
cctest: fix compilation without the simulator
kCallTargetAddressOffset: cosmetics (same value)
sh4: fix double register indexes
sh4: allows the simulator to call functions with two doubles
sh4: fix ABI for test with the simulator
sh4: disassemble inside the debugger
Revert "sh4: fix double register indexes"

This is not the right way to fix the issue. teh folowing commit will fix that
correctly.

This reverts commit f92a00505c71e25532334026821ab7a2845100de.
sh4: force the ABI to use doubles
sh4: fix simulator double register indexes
sh4: fix simulator runtime FPU argument passing
sh4: compiles native builds with mieee but not sh4/ia32 ones
sh4: limit recursion in cctest when using the simulator
build scripts: make it more configurable (split)
Fix build flags for sh4
Add the right switches to build with the simulator

The switch also select the way to create the snapshots. When the target is the
simulator, the snapshots used the simulator way and not PRoot.
Fix typo in the build script
Fix the run script when using the simulator