Win32 UTF8 Support
This PR brings full UTF-8 support (i hope) to Windows, by converting the normal Char Strings to Wide Strings and calling the W versions of the Windows API calls.
Thanks to @yhr0x43 (https://github.com/killerxdbr/nob.h/pull/1), he/she did almost everything, i just corrected some mistakes, make a better error checking for the Wide String conversions and better error report for minirent functions (and add a fflush to TODO and UNREACHABLE macros).
According to MS in "Use UTF-8 code pages in Windows apps", you can use a manifest to make the ANSI WinApi calls accept UTF-8 (enabled by default in W10 1903 and newer), but its inconsistent (or it just affects the inputs???) since FormatMessageA was returning ?????????? to yhr0x43 , the proper solution is do the conversion using the string apis (MultiByteToWideChar and WideCharToMultiByte).
EDIT: I forgot to mention the changes to nob_mkdir_if_not_exists and nob_file_exists other than string conversion, those functions were remade using proper WinApi calls.