Use a UI event for clearing recents.

This way it builds on Android, and is cross platform too.
Decouple win32 and UI a bit more.
Merge pull request #3672 from unknownbrackets/ui-tweaks

Android buildfix, avoid win32 api in UI
Overhaul the Win32 UI. New things include:

-File -> Savestate Slot: Lets the user pick the savestate slot to be used.
-Game Settings -> More Settings...: Opens the main settings screen from anywhere.
-Game Settings -> Control Mapping...: Opens the key mapping screen from anywhere.
-Infrequently changed options were removed.
-Organised menus; nothing is out of place anymore.
-Simplified menus: as some options were removed or moved, it's easier to find what you're looking for, now.