This demonstrates an offset error.

Change the value of "off" to see. Higher introduces more error. This
error is visible when zooming in and out with the mouse. On Firefox,
zoom out to see the plot, then when zooming in it disappears. On Chrome,
zooming in makes the plot jitter.

This could be due to floating point precision, but could also be due to
svg translation precision.

This may be tough to fix.

https://github.com/MikeMcl/big.js may be of use if the problem is with
floating point precision.
these "off" lines cancel eachother out
debugging NaN problem (fixed) and using scale.copy() now
Lines now render only as needed.
cruft removal
quartile areas now render only as needed