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

I felt that this required its own function since these extra checks are only required in the `XYDragBox` and are slightly slower.