Fix conversion of keycodes on Windows:
Fix conversion of keycodes on Windows:

* More correct extraction of modifiers. The dwControlKeyState also
  field containers the state of Numlock and Scrolllock, not just
  modifiers; we now explicitly only extract the bits we care about.

* When a key press is deemed to be a function key, always normalize the
  key rune to lower case.

This fixes #567.

elves/elvish,elves/elvish,elves/elvish,elves/elvish,elves/elvish