Fit Y on zoom, use fixed bounds on reset

Drag horizontally to zoom. Y fits the visible data with 10% padding. Double-click to restore the full X range and Y bounds of [0, 100].

The Y scan callback returns [null, null] when viaAutoScaleX is true. The range callback then returns [0, 100], without scanning Y data. These bounds also apply on initial load; they do not clamp Y while zoomed.