(easy/low priority) uimap recently just got pared down to a much more minimal module. Two remaining things are needed.
dead code elimination
safe mouseup events: Currently all mouseup events on the window/document are passed along, whether or not their corresponding mousedown event was. The mouseup events should continue to ignore whether or not they occur in the canvas, but they should only fire when they are the result of an accompanying mousedown event. I recommend using the stub code for tracking button state to achieve this.
(easy/low priority) uimap recently just got pared down to a much more minimal module. Two remaining things are needed.