Codify WatchTimeReporter state assumptions.

This codifies assumptions about the API into variables which are
used to disable or start the internal reporting timer for WTR.

Specifically these two assumptions are codified:
- That in shutdown the timer should not be able to start, and
should be stopped.
- That when a seek starts, a subsequent play call is required to
allow the timer to start again.

Previously these were handled by forcing the timer state to false
when those events are in flight. In the case of a seek, something
like OnShown() might end up called first and restart the timer.

BUG=none
TEST=new tests.

Change-Id: Ia14c3cdf8a3e383915372eb8ab813a1e4b78e530
Reviewed-on: https://chromium-review.googlesource.com/1144301
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Dan Sanders <sandersd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576736}
3 files changed