A new function was introduced to abstract the setup of input devices for each os: os_SetupInput().
I hope I implemented this everywhere correctly and the behaviour is identical to before.
The new function mcfg_CreateNAOMIJamma() creates the NAOMI Jamma interface and is hidden behind a compile flag (same as before).
The previous function mcfg_CreateDevices() was renamed to mcfg_CreateDevicesFromConfig() because it creates the devices based on the configuration (``nb`` setting).
Don't expose mcfg_Create() directly, but use a proxy method mcfg_CreateController() to create the complete controller.
Using evdev the ``nb``-setting in the ``emu.cfg`` is no longer necessary (see #970) as the devices get created while initializing the controllers.
Moved the ``switch`` to it's own function.
This adds the ability to simply close the emulator when launched
externally and prevents changes designed for linux from generating
conflicting controller configurations on Android (and may be needed for
iOS as well).