FileMap: Store destination filenames as std::string instead of const char*.

std::string has slightly more overhead, since it's always at least
16 bytes on MSVC, but it's easier to manage than const char*.
TextConv.cpp: Split the Shift-JIS to UTF-8 conversion function into a separate file.

Also added generic MBStoUTF16 and UTF16toMBS functions.