Resetting a trace from the HUD now resets workers as well.

Creates an ISessionListener reset() method and plumbs through reset
calls from the main TraceManager to the worker.

Note that resetting will introduce a bit of skew since the worker will
be reset only after it processes the message from the main thread, but
fixing it to retroactively reset would be much more work for very little
benefit.