Discard incorrect KeyboardEvent.key values for onKeyDown and onKeyUp in IE

TL;DR-comment has in-depth explanation. Summary; all IE report `AltGr+1` as `'1'`, `~a` as `'a'` (`~` is a deadkey), etc in `keydown` and `keyup`, rather than the actual produced character. This normalizes that behavior to report `Unidentified` instead which is far preferable.

While it's quite technical, I think the logic is fairly self-explanatory and should be inherently safe (especially as none of the other browser I have access to even support `char`).

Test plan: manually in the browser
If approved: will need to do an exhaustive test of all keys do make doubly-sure
You could bail out earlier here if key.length !== 1.