fallback to String.fromCharCode

note that i lowercase the returned value, so `keyname(65) // > "a"` instead of `"A"`.