Switch to app-level click listener

Couldn't resist after realizing what was happening on #882. Here's my shot at fixing the problem with events getting delivered when we didn't want them (specifically in that case, elements that were created in other click handlers).

The basic course I took was based on realizing we didn't need every element creating its own SWT-level listener. Instead, the window has one listener, and we do the element selection and dispatch ourselves. This gives us final control over who receives the event (in this case the final subscriber that's in bounds... maybe later we can get smarter like Shoes 3 where the top-most visible element gets it).

This deserves more testing, but some basics and links (which were the more complicated case for click support) are all working from what I've checked tonight (and specs were passing too).

:mouse: :white_check_mark: :boom: