Make tslint nag less
Refactor Interaction so that AreaInteraction can be put on an arbitrary component, not just XYRenderers.
Remove ZoomInteraction, instead make a function that generates a zooming callback.
This generalizes to sparklines and renderers with multiple scales, which previous approach couldn't handle.
Now, AreaInteraction does not take seperate dataCallback, selectionCallback, areaCallback, etc. Instead, it JUST gives the pixel area and
trusts the callback to do the intelligent work of talking to renderers and figuring out needed metadata. Results in a simpler class.
Some changes to renderer to enable this new pattern (public methods all take a dataArea).

Removed the concept of the fullSelectionArea, which unfortunately means the user needs to maintain distinction between pixelArea and
dataArea, which is not enforced by typing. :/
Fix unit tests that were broken due to pixel/data area distinction getting confused
Merge pull request #112 from palantir/refactor-interaction

Refactor interaction