Move VideoDecoder::Create() logic to separate internal video decoder factory

The goal with this CL is to move implementation details out from the
webrtc root (webrtc/video_decoder.h) to simplify the dependency graph.
Another goal is to streamline the creation of VideoDecoders in
webrtcvideoengine2.cc; it will now have two factories of the same
WebRtcVideoDecoderFactory type, one internal and one external.

Specifically, this CL:
 * Removes webrtc::VideoDecoder::DecoderType and use webrtc::VideoCodecType
   instead.
 * Removes 'static VideoDecoder* Create(DecoderType codec_type)' and
   moves the create function to the internal decoder factory instead.
 * Removes video_decoder.cc. webrtc::VideoDecoder is now just an
   interface without any static functions.

BUG=webrtc:6743

Review-Url: https://codereview.webrtc.org/2521203002
Cr-Original-Commit-Position: refs/heads/master@{#15350}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: dd40702357dbd09e4468eee295193f9fd4a7da7b
11 files changed