* ui: resize iconic flyouts from their top edge and free top corner (#1094)
A flyout's top edge and its canvas-side top corner now resize it; the
column-side edge and its corners stay anchored. A top-edge resize keeps
the bottom and saves the top as `Group::flyout_offset`, its distance from
the group's icons, through the new `Action::MoveFlyoutTop`. The offset is
serde-defaulted and kept in close/restore locations, so older workspaces
align flyouts with their icons as before. Saved offsets are finite and
bounded, and placement clamps them inside the float bounds.
* ui: test flyout top drags past the minimum, short viewports and older workspaces (#1094)
* ui: give the flyout's top resize handle a 4 pt band (#1094)
A one-pixel top handle was hard to grab with a real mouse. Frames
whose contents supply their own header can now set
`FloatingFrame::top_handle_height`; the default stays one physical
pixel. Iconic flyouts use the stock resize band's 4 pt, over the top of
the tab strip, and the strip below it still drags the group.
---------
Co-authored-by: ruchirguitar <113586074+ruchirguitar@users.noreply.github.com>