Remove duplicate interact.supportsTouch
Fix target getting in propagated mouseDowns

mouseIsDown is only set to true after the the current target.getAction()
returns a valid action. If it doesn't return a valid action, mouseIsDown
remains false and the next call of mouseDown tries to get a new target.
Bind + fire InteractEvents not custom DOM Events

Interact events are no longer dispatched as custom DOM events. They are
now fired as InteractEvent objects and to respond to an event a listener
must be bound either to each interactable or globally by binding to
interact. eg:

interactable.bind('dragend', function (event) {
        console.log(event.target.element().id + ' moved ' + event.dx + ', ' + event.dy);
    });

interact.bind('dragend', function (event) {
        console.log(event.target.element().id + ' was moved');
    });
test: use new Interactable#bind API
demo: use new Interactable#bind API
Use the DOM element as InteractEvent#target
README: add documentation  and examples for new API
Fix bugs and improve formatting and documentation
demo: use correct event targets
Fix event wrapper
Add click event bind-fire

By binding to this event of an Interactable, the problem of clicks being
dispatched after a dragend is avoided.