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/552z0h27/

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`.


For resizeEnabled, maybe we should consider having a getter...
For resizePadding, I would like this to be either public static or an API endpoint.  How much of a nice-to-have would this API endpoint be?  If it's near 0, just make it public static.
For selection, I'll still need to read through, but I'm confused why this isn't private instead.
For isResizing, I would prefer to have a single getter with no setter if possible so only this class has control over isResizing.