Cast:Transport: Dividing A/V Initialization pipeline

This cl is part of the effort to split the A/V initialization pipeline,
which started in https://chromiumcodereview.appspot.com/163553006/.

Main changes in this cl:
1. Adding initialization functions to audio and video.
2. Changing the Create API to return a scoped ptr.
3. Using weak pointers in lieu of Unretained (part of BUG=344621)

BUG=346822

This cl must be committed prior to issue  163553006

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

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