Remove/Replace some OutputDebugString() calls
CLog::OutputDebugString: rewrite win32 part to remove CStdStringW
CLog: rename OutputDebugString() -> PrintDebugString() to prevent name conflict with external function
ilog.h and log.h: remove conflicting macros, add parameter checking for MSVC
CLog: make destructor non-virtual
CLog: replace array of char arrays with constant array of constant string pointers
This allow to use strings with any length.
CLog: make class CLogGlobals private, replace ugly defs, update tests
CLog: add and use IsLogLevelLogged() function
CLog: move some code to use WriteLogString() function
CLog: move print to adb from Log() to PrintDebugString()
CLog::PrintDebugString: remove OutputDebugString() for posix: it does nothing
CLog: remove CStdString
CLog::Log: remove unneeded large reserve on string
CLog::SetLogLevel: check requested level, report log level as name of level
[win32] Implement class CWin32InterfaceForCLog
[darwin] DarwinUtils: add DarwinPrintDebugString()
[posix] Implement class CPosixInterfaceForCLog
CLog: use PosixInterfaceForCLog/Win32InterfaceForCLog, use std::string for Init() parameter
CLog: move PrintDebugString() to public
CLog: split Log() function