Uncouple series and chart

Pulls out the chart argument from a series constructor, and makes sure
the series has no back-references to its parent chart.
Renames chart.chart => chart.plotArea

This had been confusing me a lot, as I thought chart.chart was the same
as chart. Turns out its the HTML node for the corresponding chart, where
we add all our lines, points, etc. It makes more sense to differentiate
it by calling it a plot area.
Pull out tooltip

Moves all the tooltip creation code into the series itself, and has it
execute on a draw().