Adjust IKeyboardEventHandler to use a dynamic registration instead

KeyboardEventSystem now does registration basic off a dynamic array of keys set
in the IKeyboardEventHandler constructor. This will allow for registering of keys
beyond the ASCII range, but at the same time not creating huge waste of memory.

Closes #100