Improve tick-frequency calculation to handle small charts

### Issue
On some small charts, the tick frequency can be high enough that labels end up overlapping each other.

E.g. The genreCount chart on the front page when the width is initialised as 300px.

In this case, the tick frequency should scale to display ticks each 500 instead of 200.

### Solution
Use the size of the charts plot area to effect the number of ticks drawn.
Rather than being the number of ticks to display, can we have this return the delta between tick values? That way, users can specify their own tickFrequency.

We could then use this to calculate tickValues for passing to d3