HLE modules now have a unified interface via which they can get notified when mapped into the process or when loaded/unloaded.
We also always call the unload functions when stopping emulation to give the module implementations a chance to reset all state (although many of them are still missing proper cleanup code for now)