Integrating gesture and snapping into a user interface toolkit | Synapse