<wctype.h>: de-pessimize the isw*() functions.

Add the missing ASCII fast paths, ensure that they and the "no icu" fallback both use inline code rather than another function call to the non-wide variant of the function, and in passing fix a bug in wcwidth() where we were passing a null pointer as a fallback function by just inlining the u_hasBinaryProperty() lookup in the two files that use it (rather than leave the footgun lying around after it's already gone off once).

Change-Id: Id020f2d4003392e8716ca82ae40d54c982db382a
diff --git a/libc/private/icu.h b/libc/private/icu.h
index a671e98..8e4aa80 100644
--- a/libc/private/icu.h
+++ b/libc/private/icu.h
@@ -80,7 +80,8 @@
 
 int8_t __icu_charType(wint_t wc);
 int32_t __icu_getIntPropertyValue(wint_t wc, UProperty property);
-bool __icu_hasBinaryProperty(wint_t wc, UProperty property, int (*fallback)(int));
+
+typedef UBool (*u_hasBinaryProperty_t)(UChar32, UProperty);
 
 void* __find_icu_symbol(const char* symbol_name);