Add an optional cancel animation for the drag image

The cancel animation plays when a user finishes a drag operation that is not
accepted by a drop target. This animation can be used to animate the drag image
back to the position where it originated from.
Use asynchronous streams

The drag manager is now responsible for handling the mouse up event, and can
coordinate the sequence of when the onDrop and onDragEnd events are triggered.
Because of this, there's not much reason to require synchronous streams.
Reset flag if drop target is accepted on drop
Merge pull request #12 from danschultz/release-drag-image-animation

Add support for a cancel drag image animation