Adding CLI mode to GUI build etc.

Open

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

When opening a state or movie the ISO is selected by ID rather than last used because that's more accurate

Disable the Play and Start Recording options if no ISO is set instead of showing the BrowseForDirectory dialog because that's less confusing

The BootManager is changed to try the default and last iso if an empty string is provided

If a file isn't found the ISO library is searched because that allow a relative path

Benchmark

Adding option to play a movie as a benchmark by running it without a frame limit and measure the frame rate

Log

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

Name

Changing the nogui suffix to cli because it's a more common term
Adding config path argument

because that allow easier benchmark for different settings
Writing the file name in the file error

because that makes it easier to locate the problem
Adding state version check when opening state

because it should be checked before boot

Log

Writing OSD messages to logmanager too because that make the message (f.e. about state version)

* permanent (for future reference) rather than temporary
* visible to CLI mode if it occurs before window creation
Loading log settings for CLI

because that allow disabling logs for CLI
Making the GC and Wii input order deterministic

because that allow recording GC and Wii input simultaneously