Evaluate button role and sensitivity per-interaction.

This lets us reuse buttons, and still update the role/sensitivity
as the actions dictate.
Get a new adjustment from bars on each interaction.

This lets us reuse the Bar objects, and yet update the object in
the face of changing data.
Reset Viewport and Input when first shown.

This supports reuse, by eliminating state state from these
displayables.
sl2: Transforms take a child parameter, while transforms just take an argument.