Begin adding config swapping support to RGUI.
Some cleanups in settings saving/load defaults.
Add Config Directory option to RGUI.
Update shader manager on game load.
Don't hardcode rgui.cgp/glslp as default.

In a multi-config environment, shader manager could conflict.
Instead, infer the default RGUI shader cgps/glslps from config path.

Fallback to old rgui.cgp/rgui.glslp if we use a default config.
Fix potential segfault on config swap.

Main Menu list can shrink and selection_ptr wasn't set to a sane value.
Set default save/state dirs properly in config_set_defaults().
Allow saving new config files directly from RGUI.

The file name is inferred to avoid typing.
Save game history path to config.
Save autoconfig dir to config.
Also save some driver settings.
Fix bug with use_float.

If audio driver changed from pulse to alsa via config change,
audio would be broken as use_float would be set to true.
Also save joypad driver.
Build fix.
(RMenu) Refactor select_rom into select_file
(RMenu) Forgot break for case
(RMenu/RGUI) Refactor RGUI/RMenu controls - now uses straight RetroPad polling
from input driver without awkward button mappings
(RGUI/RMenu) Useless include removed
Remove the stub Win32 GUI.

It is only confusing and doesn't add anything atm.
If we want to go for WIMP-based GUI, it will be using a multi-platform toolkit anyways.
(RMenu) Bake in rgui_list for PS3/Xbox 1/360 too