CLog update

* Fix some mess in CLog
* Rework win32 part to work directly with win32 File API instead of some strange `_utf8` wrappers
* Move adb printing to the right place
* Add LogW() for wide string logging (mostly for win32)
* Add LogFunctions/LogFunctionsW and companion macros LogF/LogFW for quick logging with function name: instead of 
```` C++
CLog::Log(LOGDEBUG, "%s: Return code: %i", __FUNCTION__, ret);
````
use
```` C++
CLog::LogF(LOGDEBUG, "Return code: %i", ret);
````
 this will put exactly the same string to the log.
* Added parameter checking for MSVC
* Removed CStdString

I don't think this gives us anything useful.  As you pointed out, the charset converter had to be init'd before log anyway, as it was used on win32 for the filepath stuff.

Thus, it's safe to use the charsetconverter anyway.  The tests you've written are great though, so could still be used.

Personally though, unless there's a whole heap of logging that uses this, I'd tend to drop it from the CLog interface in favour of a separate wrapper, but don't have a strong opinion.