On i386, prefer __WCHAR/WINT_TYPE__ where available instead of hardcoded
_BSD_WCHAR_T_ value.

This mimics some other ports, and more importantly fixes compilation with
i386 compilers which define __WCHAR_TYPE__ as "long int" instead of the
"int" we had in there.  That superficial mismatch resulted in errors
such as:

lib/libc/gen/vis.c:109:1: error: array of inappropriate type initialized from string constant
 static const wchar_t char_shell[] = L"'`\";&<>()|{}]\\$!^~";

No change to NetBSD (our gcc does define __WCHAR_TYPE__, but it is
"int" ...  as expected ... since the NetBSD build worked ;)