Avoid global state

@richard42: please do NOT merge it now. I made the pull request only to allow multiple people to comment on this in a central place.

@all:
Initially the HLE rsp plugin was developped only for mupen64plus needs and didn't care about global state and plugin interface dependency. This work attempts to play better with third parties which would like to integrate our code into their project.

The first feature of this work is the separation of "core" hle (ie everything except plugin.c), from mupen64plus specific needs (ie plugin.c). Now the "core" hle doesn't depend on m64p (be it header files, or function prototypes). The glue between m64p and core hle is done in plugin.c.

The second feature is that "core" hle don't have any global state variables anymore. It instead passes a struct hle_t pointer around. This allow to instanciate many hle within the same process, for example for an audio player or alist debugger...

Because of the structure passing, instead of a global variable, I expected a performance hit, but I couldn't observe it on my machine. However I'd be interested if other notices performance drop. (Usually the bottleneck is on the video plugin anyway...).

Intended usage:
plugin.c provide an example of how to use the hle module.
Basically it is just to calls:
hle_init(hle, ... );
hle_execute(hle);
You can customize hle module behavior by defining the functions whose prototypes are given in hle_external.h.


Benefits:
-hle module can be used independently of the m64p project
-should ease synchronization between forks (only plugin.c should differ)
-should allow better customization by other projects (they can avoid the plugin system entirely,
choose to avoid global variables, and route debug messages at their convenience).

Drawbacks:
-massive change
-can potentially bring a performance hit


Please discuss.

Edit: How to invite @ecsv, @twinaphex, @mupen64plus-ae (and other interested devs) to join the discussion ?

Edit2: clarified intended usage