Allow suspension prior to reaching kHaveFutureData.

This change rolls in a few changes:
- Removes DelegateState::PAUSED_BUT_NOT_IDLE state.
- Removes all blocks against suspending prior to kHaveFutureData.
- If suspended, triggers resume when prior to have kHaveFutureData
if the didLoadingProgress() timer reports true.
- Always notifies the delegate of DelegateState::GONE; this ensures
the idle timer is always restarted if we didn't quite get enough
data to reach kHaveFutureData.
- Fixes pause timer to handle newly supported background video;
which doesn't set a state of DelegateState::GONE

BUG=612909, 643383
TEST=new and updated unittests.

Review-Url: https://codereview.chromium.org/2289543005
Cr-Commit-Position: refs/heads/master@{#416431}
5 files changed