<wchar.h>: Refactor wchar_t/wint_t/mb_state setup.
Kernel has no wchar support functions (except for VKERNEL64).
* Extract wide-character types setup to common <machine/wchar.h>.
* Avoid using __wchar_t for clang -fms-extensions issue.
* Add more handling for c++ and -fshort-wchar (not supported in libc).
This essentially removes these types from kernel namespace and paves
the way for further both userland/kernelland visibility cleanup by
making <sys/stdint.h> clean.
The WCHAR_MAX/WCHAR_MIN limits will be addressed in separate commit.