Reland: H264 HW encode using VideoToolbox

Reland CL: https://codereview.chromium.org/1636083003/

This CL adds VTVideoEncodeAccelerator which enables H264 encode support using
VideoToolbox on mac. Also, it includes a refactor of common VideoToolbox classes
under video_toolbox_helpers.*.

Note that, this is the first CL and H264 codec is still behind a flag. More
patches will follow adding additional codec profiles and support for
bitrate adaptations.

Design Doc: https://docs.google.com/document/d/1oUTyZdNh8QstKRds-8wHEF_hqKryMiUpEOW8M57sUGU/edit?usp=sharing

BUG=500605
TEST= Tested AppRTC loopback with Chrome flag
"--enable-webrtc-hw-h264-encoding" on
https://apprtc.appspot.com/?debug=loopback&vsc=h264
TBR=avi@chromium.org, jfroy@chromium.org, sandersd@chromium.org, thakis@chromium.org, posciak@chromium.org, miu@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#381373}
19 files changed