Adding CLI mode to GUI build etc.

Moving code from MainNoGUI.cpp to CLI.cpp for this purpose

Adding option to open a save state or a recording. (A recording could previously be started but not through open)

Adding option to play a recording as a benchmark by running it without a frame limit and measure the frame rate. The feature is accessible from the CLI

When opening a savestate or recording the ISO is selected by ID. (The ScanDirectoryTreeRecursive code is moved from GameListCtrl to FileUtil for that reason)

Fix: Don't show BrowseForDirectory if no ISO is set, instead disable the Play and Start Recording options

The BootManager is changed to try; the default iso, the last iso, if an empty string is provided. (Code is moved from FrameTools to BootManager for that reason.) If a file is not found it tries the path with the ISO path(s) prefixed (so that the file path can be relative to a library path)

Logging to OutputDebugString when the process is not debugged too because the messages can be of interest then too

Changing the nogui suffix to cli because it's a more common term
Adding savestate version check when opening savestates

Fix for wiimote playback when the gcpad has been recorded

Writing OSD messages to logmanager too