Reland of Change VideoTrack implementation to invoke VideoTrackSourceInterface::AddOrUpdateSink on wt
Added documentation of thread expectations for video tracks and sources to the API.

Originally landed as patchset #2 id:20001 of https://codereview.webrtc.org/2964863002/.

Patchset 1 is the originall cl.
Patschet 2 is modified so that VideoTrackInterface::AddSink and RemoveSink have a default implementation.

BUG=none

Review-Url: https://codereview.webrtc.org/2989113002
Cr-Commit-Position: refs/heads/master@{#19195}
diff --git a/webrtc/pc/videotrack_unittest.cc b/webrtc/pc/videotrack_unittest.cc
index d033efe..1f569eb 100644
--- a/webrtc/pc/videotrack_unittest.cc
+++ b/webrtc/pc/videotrack_unittest.cc
@@ -31,7 +31,8 @@
     static const char kVideoTrackId[] = "track_id";
     video_track_source_ = new rtc::RefCountedObject<VideoTrackSource>(
         &capturer_, true /* remote */);
-    video_track_ = VideoTrack::Create(kVideoTrackId, video_track_source_);
+    video_track_ = VideoTrack::Create(kVideoTrackId, video_track_source_,
+                                      rtc::Thread::Current());
     capturer_.Start(
         cricket::VideoFormat(640, 480, cricket::VideoFormat::FpsToInterval(30),
                              cricket::FOURCC_I420));