Convert TimelapseModel.pausePlayback to be task-based.
Convert TimelapseModel.stopPlayback to be task-based.
Extract common "ResumeDebuggerIfPaused" step. Make task definitions chained.
Convert TimelapseModel.startCapture to use ReplayTask. Extract TimelapseModel.stopPlaybackTask to a function that returns a new task instance.
Convert TimelapseModel.stopCapture to use tasks.
Remove TimelapseModel._captureDidStart.
Remove TimelapseModel._captureDidStop.
Add some debug logging to task infrastructure.
Change TimelapseModel.fastReplaying to TimelapseModel.replaySpeed and introduce speed constants. Convert TimelapseModel.replayUpToMarkIndex and TimelapseModel.replayToCompletion to use ReplayTask.
Fix bugs related to SavepointProvider. In particular, widgets had
assumed that the savepoint provider would be added after the widgets
were constructed, but this is not always the case. The fix is to look
for existing savepoint providers inside the widget constructor.
TimelapseBreakpointTracker: Don't perform a file-and-line lookup of a breakpoint if a breakpoint instance was provided.
ReplayTask: pass arguments recieved by continuation callbacks to the next step in the task chain. Allows use of 'cb' as a WebInspector.Object event listener.
ReplayTaskScheduler: fix mistaken console.log when this._log should have been used.
TimelapseModel: rewrite replayDebuggerWalk and replayToBreakpointHit
to use ReplayTask. Clean up resulting dead code and variables.

Introduce intermediate "DebuggerWaiting" event that tasks can call
preventDefault() on to prevent the UI from showing breakpoint paused
widgets.
Fix bug where the pause/play glyph in Timelapse's play button wasn't
being updated correctly when replay is in progress. Looks like a
copy/paste botch.
Fix some misuses/confusion in argument order for TimelapseModel.replayUpToMarkIndex.
Rewrite breakpoint scan button listeners to respond to
Recording{Loaded,Unloaded} for enablement, and BreakpointScan{Started,
Stopped} for toggling on/off.
TimelapseOverview: extract _showMessagePanel and _hideMessagePanel
methods. Hook these up to BreakpointScan{Started,Stopped} and decide
the message to show based on the event type. Replace similar message
panel interactions with method calls.
Convert breakpoint scanning to use ReplayTask. Fix various other small
bugs in other ReplayTask-based workflows.
Rename TimelapseModel._replayUpToMarkIndexTask() to TimelapseModel.startReplayUpToMarkIndexTask()