Support unicode on windows console

The Win32Console should be used in programs that require unicode
support for command line arguments and stdio ouput on windows. On
windows it gets the command line arguments from GetCommandLineW and
converts to UTF-8, and redefines the stdio output functions to convert
UTF-8 to calls to WriteConsoleW. On other platforms this class is a
no-op.
21 files changed