Added KeyEventListener and KeyInteraction.

KeyEventListener is a global shared listener for key events. This needs
to exist because currently key event listeners can't be attached to SVG
elements (http://www.w3.org/TR/SVG11/interact.html#SVGEvents).

KeyInteractions register with KeyEventListener, so the user doesn't actually
have to touch that at all. When KeyEventListener receives a key event, it triggers
any KeyInteractions that are listening for that key. The KeyInteraction will then
trigger its callback if the element it's attached to currently has focus (mouse is
over the hitbox). See quicktest-keyInteraction.html for an example.