Dragbox resizing when edges are dragged

This PR implements resizing a dragbox by dragging its edges when it's drawn on screen. The cursor changes appropriately even on first draw.

http://jsfiddle.net/4MCR3/1/

There are some questionable areas I'd like feedback on, specifically on how organized code looks and its simplicity. The code added to `XYDragBoxInteraction.ts` seems like a lot for example.

The API for dragging events still works like before, the callbacks the  `start` and `end` points, even on resizing even if the dragbox is not bounded by those points. For that, there is `DragBox.selection` which is a `SelectionArea`.


* `resizeEnabled` - because the `.resize()` function is only a setter.
* `resizePadding` - maybe this can have a public function?
* `selection` - needed so that `drag` and `dragend` callbacks don't have to have a third parameter that represents this, even on non-resizing.
* `isResizing` - I thought it'd be useful for the user rather than them keeping track themselves. There are some use cases where a user might want to load data for example only on `dragend` and on `drag` and `isResizing`.