app: FG select: refactor to use the standard tool cancel/commit logic

Simplifies things and prevents losing a complex selection on tool change.