std: Add trait ToCU16Str

First patch adds `ToCU16Str` for UTF-16 ffi.
It also removes `std::os::win32::{as_utf16_p, as_mut_utf16_p}`.

Second patch changes return type of `from_utf16{,_lossy}` to `StrBuf`.

[breaking-change]