replay: overhaul worker thread reporting
- Strong typing for report queue messages
- Add idle and "object in progress" reporting
- Add the ability to request a restart
- Restart worker threads when they raise an issue
- Print warnings when a thread is detected as stalled (including which object is being processed).