[BarPlot] - Setting sensible default bar widths for nonBandsMode

Closes #1156 
This seems like it would fail if:
1. Ticks are not spaced evenly, or the tick corresponding to the bars at the edge is very close to the edge of the plot.
2.` qScale.ticks().length === 0`