Cast: Adding support for GPU accelerated encode

Removed the old VideoEncoderController interface and
made video_encoder a pure virtual class that
ExternalVideoEncoder and VideoEncoderImpl implements. 
This CL also remove the possibility to send in
pre-encoded video frames.

BUG=325998

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

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