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

You wouldn't have a circular dependency if you didn't introduce LogW.

LogW is unlikely to be used much outside of win32, so I'd just move that to a separate wrapper class and include that instead of log.h where you need it.