1. Fix: MAGN-535 Unable to move node if mouse-click occurs close to another node
2. Refactored "dynWorkspaceView.OnMouseMove" to better handle various states
3. Implemented ElementUnderMouseCursor, DirectHitTestCallback and PortFromHitTestResult helper methods
Merge branch 'ChocoButterUI' into MAGN535

Conflicts:
	src/DynamoCore/UI/StateMachine.cs
Merge pull request #684 from Benglin/MAGN535

Fix: MAGN-535 Unable to move node if mouse-click occurs close to...