fix #4318: seems 32bit implementation of std::unordered_map fails at 0 ints
it used char* intentionally to save expensive std::string overhead (in creation & comparision)
cleanup in KeyBinding.cpp