D3 only supports once listener per event type per node so restructure interaction events
to allow support of multiple behaviours.
When a datapoint is mousedover bring it to the top of the drawing stack so it is above overlapping nodes and its tooltip is above nearby nodes.
No pointer events on tooltips so they don't get in the way of interactions with other datapoints.
Position the tooltip according to which quadrant of the chart it is in. Closes #17.