runWithHandoff<T> method
Runs operation with the terminal handed to it: cooked input, main
screen, mouse off, frame writes suppressed, and runApp's stray-output
capture paused so a child that inherits stdio gets the real descriptors.
The session re-enters afterwards and repaints in full.
Any child that needs the terminal — an editor, a pager, an interactive
git — must run inside this.
Implementation
Future<T> runWithHandoff<T>(FutureOr<T> Function() operation) =>
withTerminalHandoff(driver, operation);