Fix double-triggering of mouse bindings
Fix double-triggering of mouse bindings

The 2d9afb9b395ea0cc71432613e0df104aefcf24c1 commit lead to mouse
actions being triggered on both press and release of mouse buttons.

This reverts the mouse binding behavior back to the previous state where
they are only triggered when the button is pressed, not when it's
released.

The `mouse_input` method's structure was overly complicated and did not
accurately represent the logic which should be implemented by it. This
is likely what caused the regression in 2d9afb9b395ea0cc71432613e0df104aefcf24c1.

To prevent similar issues from popping up in the future, the method has
been cleaned up and the structure should now represent the logic
required more logically.

alacritty/alacritty,jwilm/alacritty,alacritty/alacritty,jwilm/alacritty,jwilm/alacritty,jwilm/alacritty