Added mouse down propigation management

This allows the code to detect when a drag is starting on the
gate or if it's starting on an input/output node.