Handle scaling frames in RTCVideoEncoder

This CL adds support for scaling incoming video frames in RTCVideoEncoder.
Earlier, we expected WebRTC to only send frames that have the same size
as the initialized size. However, after last changes we can have different
sizes.

I replaced libyuv::I420Copy with libyuv::I420Scale, but note that it still
does only a copy when the gven input and output sizes are the same:
https://cs.chromium.org/chromium/src/third_party/libyuv/source/scale.cc?rcl=0&l=1400

BUG=630577
TEST=Tested Hangouts call on veyron_jerry. Added RTCVideoEncoderUnittest.

Review-Url: https://codereview.chromium.org/2182183007
Cr-Commit-Position: refs/heads/master@{#409286}
8 files changed