Adding config path argument

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

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

because it should be checked before boot
Loading log settings for CLI

because that allow disabling logs for CLI
Logging to OutputDebugString when the process is not debugged too

because the message can be read in DebugView which can be more efficient than reading it in the program's log window

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
Adding data to movie

because that allow determining

* type: GC and Wii input order
* frame: synchronisation
Changing the dual thread movie Wii input update frequency

from 200 Hz to `VideoInterface::TargetRefreshRate`

because that allow recording GC and Wii input simultaneously in the same array
Synchronising dual thread movie input with frame drawing instead of a tick interval

because that make recording more deterministic
Disabling _CRTDBG_DELAY_FREE_MEM_DF

because it use much memory
Listing found OpenAL devices

because the knowledge can be useful
Moving thread name function to a class

because that's better organisation
Creating a namespace for memory utilities

because that's better organisation
Changes to wiimote logging