Add support for input[type=number] & fix pressed `keyCode` detection

Related: http://stackoverflow.com/questions/4285627/javascript-keycode-vs-charcode-utter-confusion