Explicitly destroy chart on data change

When changing chart data, the old chart is left in the canvas with the new one rendered on top. This isn't a major issue until you hover over a chart. With multiple charts drawn, old segments still retain their event listeners and will draw tooltips on hover.

This PR addresses the issue by destroying the chart object if it exists before recreating it.

(Sorry for double PR, forgot to branch)