Better events

These changes send the drag- and drop-model values to the event handlers, making it much easier to act on changes to the UI.

For example:

```
$scope.onDrop = function(e, ui, data) {
  console.log('dropped', data.dragModel, 'onto', data.dropModel);
};
```