shell/panel: ensure at most one resize per frame is done
calls to queuePositionAndResize will mark geometry dirty and ask for redraw only when the redraw is done, the resize is done and another frame at proper geometry will be drawn.
this ensures that if we receive a flood of resize requests, at most one per frame will be performed, making resizing the panel with the handles feel a lot snappier
(cherry picked from commit b6c31e9e)