initial commit trait containing common key event handling stuff
work on integrating event trait
propagation should be disabled by default for keyboard events
changes to use new event trait
hand over char code to callback function
changes due to new event trait
changes due to new event trait