Call std::tolower in a way that should works on all supported compilers