The underlying changes have been made to allow the widget reflector to visualize a live or snapshotted tree.
Submitting these now as the API has changed quite a bit and any future changes will likely conflict.
The "Snapshot" button is implemented but is currently commented out as it's not fully functional (I still need to take a screenshot of the windows so you can pick against their saved state).
[CL 2546993 by Jamie Dale in Main branch]