Autosize margins

Makes the chart resize whichever margin it uses for its x and y axis.
Makes the series provide sizings of all labels on x and y.
Adds tests that the correct margins are set.
Properly key data for longest label

Uses this.dataset() instead of this.data() to extract the values.
Merge pull request #71 from tpkelly/master

Autosize margins