win32.c: convert by Win32 API

* win32/win32.c (win32_direct_conv, rb_w32_readdir): convert UTF-8
  and filesystem code page by using Win32 API directly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ruby.c: use UTF-8 for loadpath as the fallback

* ruby.c (ruby_init_loadpath_safe): encode loadpaths in UTF-8 on
  Windows.  [ruby-core:62002] [Bug #9737]

* ruby.c (process_options): try encode loadpaths to locale
  encoding from UTF-8 if possible, on Windows.
ruby.c: use UTF-8 for argv

* ruby.c (process_options, ruby_script, ruby_set_argv): convert
  argv from UTF-8.

* win32/win32.c (rb_w32_sysinit, cmdglob, w32_cmdvector): convert
  wide char command line to UTF-8 argv.
ruby.c: convert to default external

* ruby.c (external_str_new_cstr): convert to default external
  encoding instead of default internal encoding, with most
  frequently used options.