Handle drag events

The tap handling can get stuck if an initial mousedown event leads into drag events instead of a mouseup.  Here's a small fiddle demonstrating the problem: http://jsfiddle.net/6j5emgho/

This change simply adds a handler for dragend to make sure the tap doesn't get left hanging.