media::WebAudioSourceProviderImpl, add support for getting a copy of passing AudioBuses

This is needed for https://crrev.com/1599533003/,
which introduces an HtmlAudioCapturerSource to
_copy_ the audio being played in a WebMediaPlayerImpl
and send it into a MediaStream.

On ToT, WASPImpl routes audio buses from |renderer_|
to a RestartableAudioRendererSink passed on ctor (this
is a "content" audio sink). This routing happens away
from WASPImpl, i.e. they |renderer_| and |sink_| talk
directly to each other.

This CL basically forces all audio to pass via an internal
class to WASPImpl so a client can register a callback to
get a copy of the data.

(The idea of calling such class TeeFilter comes from
e.g. [1])

BUG=569976, 575492
TEST= added new unit test entry, and in the mentioned dependent CL

[1] https://msdn.microsoft.com/en-us/library/windows/desktop/dd377612(v=vs.85).aspx

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

Cr-Commit-Position: refs/heads/master@{#380989}
3 files changed