defer geometry snaps until absolutely needed

this removes an unnecessary layout when merely switching tabs.
Emit a tabFloatRequested signal instead of an explicit transfer api
clear the tabMover after finishing
pass the tab offset to the setup arg of the tab mover
pass the offset X position to the tab mover