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 feel the argument names are not that explicit.  For example, I feel pad should be padding and left should be isLeft