Video Capture: Allow suspension of individual devices.

Adds infrastructure to notify started video capture devices when there
are no consumers present, so that they may turn down to an "idle," low
resource utilization state. There are legitimate use cases where
MediaStream sessions are purposely left open without any sinks attached
for significant periods of time, and then attached when the application
is ready to consume the video.

This is a prerequisite to a soon-upcoming change that will allow screen
capture devices, which are very resource intensive, to suspend.

BUG=650113

Review-Url: https://codereview.chromium.org/2365223002
Cr-Commit-Position: refs/heads/master@{#421705}
16 files changed