iOS/MacOS:Refactor metal rendering by extracting common implementation
in separate super class.

Included changes:
- Fix rendering on iOS to support NV12 and i420 frames
- Improve code style
- Update build targets
- Update tests

BUG=webrtc:7079

Review-Url: https://codereview.webrtc.org/2784243003
Cr-Original-Commit-Position: refs/heads/master@{#17923}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: d2088156853edb3bef0834f5631fd1ebd56ff66f
14 files changed