Web Replay: remove unnecessary didDispatchEvent callbacks from replay machinery.

As event loop input dispatch is synchronous now, there's no reason why we
need to try and run inputs after a DOM event has almost finished being dispatched.
Web Replay: clean up comments and remove unused debug hooks from ReplayController.
Web Replay: don't save global tick count for each input.

Previously, EventLoopInput instances stored both the expected
number of ticks produced by the input, and the global number of
ticks that happened before the input. Since dispatch is now
synchronous and DOM events cannot trigger an event loop input
dispatch, there is no need to keep track of the global tick
count. Besides, if any preceding input has tick underflow or
overflow, then the number will be wrong anyway.

This commit also irons out the EventLoopInputDispatcher class so
that it reflects the more simple replay model that is now used.
It now also checks for tick underflow and memoization erros
immediately after dispatching an event loop input.
Web Replay: Page owns ReplayController, so replay controller should use Page references.
Web Replay: use std::unique_ptr for replay-related Page objects.