WebRtcMediaStreamTrackMap added.

This maps id <-> WebRtcMediaStreamTrackAdapter and handles creating
track adapters if they don't already exist. Reference counting
ensures adapters exists for as long as they are referenced, and that
they are disposed and removed from the map when no longer needed.

This can in a follow-up be used by WebRtcMediaStreamAdapter ("local
streams") and RemoteMediaStreamImpl ("remote streams") to get
references to track adapters "owned" by the map instead of directly
creating and owning the sinks/adapters that a
WebRtcMediaStreamTrackAdapter consists of.

This would allow local and remote streams to reference tracks that
already exist. The map can also be used to create and own tracks that
are not associated with any streams.

BUG=705901, 700916

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