Cast: Refactoring Cast API's

Main changes:
1. Adding an IntializeAudio and InitializeVideo to CastSender.
2. Separating FrameInput to audio and video which enables initializing each separately.
3. Changing the CastSender and CastReceiver Create functions to return a scoped_ptr.

These changes better align Cast with the Chromium pipeline.

BUG=346822
R=hclam@chromium.org

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

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