Changed input processing to multimethod.
Added input queue to store the latest input events. (This is currently in the wrong place).
Added input queue processor.
Switched all inputs over to input queue. Input functions are still impure.
Input commands working once again.
Removed an unused function.
Updated library version