KeyPress event handling system restructure.

Restructured the way KeyPress events are handled. Due to a small
mis-identification of a field in node x11-lib it was overseen that
'buttons' actually represents modifiers. New structure uses this field
to identify the modifier used for the key which was pressed.

Signed-off-by: Martin Jorn Rogalla <martin@martinrogalla.com>