Use userInteractionEnabled for mouse up events

Because the value of `enabled` could've changed between -mouseDown: and
-mouseUp:, leaving things in a weird state. We want the pre-mouseDown
state to be restored on mouseUp even if `enabled` became NO in between.