Made once use off to remove.
Off and on now return elements instead of the result of addEventListener. Also added support for normalising key events.