Add Unicode file name support for Windows

Fix UTF-8/UTF-16 filename issues under Windows.
Fix warnings from VS.
Add VS solution.