Axis-aware range policies

Each chart uses the same random walk. The charts differ only in the declarative Y-range policy.

The precedence is hard > soft > zeroIf > pad. An omitted or null soft means no soft limit. Both zeroIf and pad default to .1.

Presets keep the walk shape and change its minimum and span. Each preset highlights a policy difference at the default 300px height.