Distinguishing change events between drag and tap
Very first, thx for your awesome components!

So my issue is wanna get more control of these two scenarios. For instance, to give a preview when dragging and to save the color into undo/redo stack when dragend.

Currently, every tap trigger both 'change' and 'changeComplete' and every drag trigger a event flow sort of `change -> changeComplete -> ...change -> changeComplete`. Since we can not tell that a event is triggered from which process, It's hard to do some trick that skip the first changeComplete during dragging or skip the first change during a tap.
