ui::Widget::Base: queue parent reflow & render in set_visible().
ui::reflow_slots(): don't expand non-visible slots.
ui::ProtoSlotContainer: don't cache geometry for invisible widgets.
ui::Widget::Base: added set_input_control_impl().
ui::Field: moved control changing to set_input_control_impl().¹

1: This will allow arbitrary change of the control without
fabricating a key_input event.