R4300 organization

This work focus is on file organization within the r4300 subsystem.
It consists mostly of moving things into their "proper" file in order to reduce coupling.

There should be NO functional change, NO variable renamming (despite some global variables being very poorly chosen), NO function renamming. Just file organization.

The major concern I have with this work is about compilation/linkage issues:
I tried my best to test various combinations of compilation flags (DBG_COMPARE, DEBUGGER, BITS=32, NEW_DYNAREC=1, ...) and ensure that the project builds at each commit. But since I'm not very familiar with this codebase, some errors might have made their way in. Please double check that.