WebContentsAudioMuter: Mute all audio output from a WebContentsImpl.

Adds support in libcontent for muting all audio output from a
WebContentsImpl.  This is meant to be activated via user actions in
the browser tab strip UI (follow-up change pending).  To be clear, this
change introduces the functionality required to mute audio, but there is
nothing in this change to activate it.  The plan is to provide this
feature experimentally behind about:flags, and gather data to drive
later launch decisions.

Main approach: Introduce the WebContentsAudioMuter, which leverages the
existing WebContents audio capture mechanisms (AudioMirroringManager) to
divert all audio output to a "null" destination.  In other words, this
is essentially "audio capture to nowhere."

BUG=360372

Review URL: https://codereview.chromium.org/586303004

Cr-Commit-Position: refs/heads/master@{#296078}
7 files changed