ustring: Fix wchar conversion on macOS with libc++
libc++ internally represents std::wstrings in UCS-4 just like libstdc++, but does not set the __STDC_ISO_10646__ define. This caused the code to fall back to calling iconv with the WCHAR_T source character set, which does not correctly convert these strings and leads to errors, for example in inkscape on startup. See https://trac.macports.org/ticket/56214 for an instance of such a problem. Re-use the UCS4 to UTF8 conversion code when libc++ is detected, which solves this. Bug 795338