Cast: Add JS API to get raw events logs from cast extension.

- 3 new APIs will be added to cast.streaming.rtpStream: startLogging, getRawEvents and getStats.
-- startLogging will install a event subscriber and start listening to events for a stream.
-- getRawEvents will return a string of serialized raw events logs for that stream.
-- getStats will return a Blob of stats for that stream in serialized format.
- Currently, only getRawEvents is implemented. This will finish the plumbing of raw event logs from cast library to extension to Js.
- CastSessionDelegate keeps a map from stream id to EncodingEventSubscribers instead of just having one subscriber for audio and one for video. Subscribers for a stream are only created when startLogging() for that stream is called.
- CastRtpStream keeps track of stream id so it can be passed to CastSessionDelegate. The ID will be set when it is assigned by CastStreamingNativeHandler.

BUG=301920,338574

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253686 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 253686