- `dialog.comp.view` is the scroll area's viewport (its clip rect). Cut
by the content's max rect, it lost the scrolled amount at the bottom.
- When the dialog's width changes, the pass laid out at the old width is
discarded and a repaint requested.
- The measured width keeps room for a vertical scroll bar. Without it,
switching the language with the dialog open left the two scroll bars
trading places every frame: the UI never settled and OK was clipped
every other frame.
- `content_width` becomes `dialog_width`, which returns the dialog's
width, so the 600-point rule is in one place.
Tests: the view keeps its place when the dialog scrolls, and switching
to French and back with the dialog open settles with OK inside it.