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

Did you mean drop it from `CCharsetConverter`?
That was my first idea, I was thinking to put it to `CUtf8Utils` or something like that, but this will produce inconsistency and could confuse others. 
And I think that we need those two function. I'm going to update win32 initialization stuff to use this function.
Normal CCharsetConverter functions use CLog internally for error reporting. And even it's very unlikely to call CLog ever from normal CCharsetConverter processing, this is a bad code design. I'd like to resolve this circular dependency.
Can move this to separate PR.