Normalize keyboard events involving modifiers

For keys that are also modifiers (e.g., Ctrl), different browsers +
platforms may report the modifier flag as leading or lagging the
keypress event. For example, pressing the ctrl key in FF on Linux will
report (ctrlKey:false)in the keydown event, while Chrome on Linux will
report (ctrlKey:true) in the keydown event. For these specific cases,
normalize the modifier flag so it is always the set to true.

Fixes issue #322.