Fix dragging code.
Fix dragging code.

- Correctly distribute button events while dragging.
  (A receiver needs to aware both events can happen at same time).
- Clear dragging state when it's not dragging anymore.
  This covers a scenario that the user drags out to non-interactive element
  and release a button on it. In this case, the drag end was not handled
  correctly.

Change-Id: I4cf3d56f7c029523f6517339a606b1c72ddeef53
Tested: on OSX and Android.
Bug: 25119670.

google/flatui,google/flatui,google/flatui,google/flatui