Configuration files

Do not merge - this is a preliminary PR for discussion.

As of now, incorporates Dolphin's INI code for a configuration system. So far, handles for input controls have been added, but they haven't been hooked yet into the parts of code that use them. 
This structure is only useful for the frontend though, for which it should be reasonably simple to pass along the structure wherever needed instead of just using one global config.

Please don't use global state purely for convenience, unless it eases code architecture a lot, which in this case it does not.

Fwiw, I agree that there *probably* should be one global config for emulation settings in the future, however the frontend-specific bits can be easily enough managed at local scope IMO.