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`.


From a semantic standpoint, I am unsure about either this method name or the usage.  I feel that the resizePadding should be used from the caller argument not within this function (What if we want to check if something's closeEnough but not care about padding)