SkyEye dyncom interpreter

Integrates the SkyEye "dyncom" interpreter (from sourceforge.net/p/skyeye/code/ci/master/tree/arch/arm/dyncom/). This is a faster, more modern ARM11 interpreter core, used by the SkyEye project as a "hybrid" mode with their dynamic recompiler. I'd like to get some feedback/testing done with this PR before being merged. By default, the new interpreter is not enabled, but can be with the following patch:

https://gist.github.com/bunnei/c1b14a760fb9190e97bd

Furthermore, if interested in seeing the best performance with yeti3DS (and other homebrew), try the following speedhack (I've yet to find a correct workaround, hence why I won't be committing this):

https://gist.github.com/bunnei/702a6b6449d8f7b6216d


To elaborate, the type of hexadecimal constants is determined by their value as explained in http://stackoverflow.com/questions/12499592/c-hex-constant-type/12499821#12499821 . In particular, a signed integer cannot represent the number 0xf57ff01f, which is why it's an unsigned integer. (I'm explaining this because I actually didn't know this rule :) )

Fwiw, I suggest against using a static cast here since this looks reasonably easy to fix in a clean way. If 0xf57ff01f is supposed to represent the signed integer -1971318815, we could change it to `-0x757ff01f`. If it's supposed to represent the unsigned integer +4118802463, then it's wrong design to store it as a signed integer to begin with. Guess for simplicity we could go with a static_cast in the latter case, but I think the former case is more likely and hence provides a good way not to use static_casts.