fix bugs in tolower, toupper. VS2013 doesn't support char32_t locale facet