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 am unsure what this method does...
The name of the method is a bit confusing, as I am unsure of the purposes of attr1 or attr2 (c2 is taken from attr2 offset from c1 but that's all I got).  The main thing that confuses me is what if (result1 && result2) == true Behavior seems to align with c1's info