EventHandler.normalise_buttons(), Input.normalise()
allow sharing inputs between events

(fixes EventHandler._{add,rm}_input to check for existence before
adding/removing)

Also fix a thrown exception with repeating buttons.