This introduces a new syntax for per-axis properties:
axes: {
x: {
valueFormatter: ...
}
}
The old syntax (xValueFormatter) still works, but is less general.
The valueFormatter and axisLabelFormatter options are now used
consistently between x- and y-axes and have a predictable set of
parameters.
Includes lots of tests for all relevant behaviors.