Image Capture: MediaStreamTrack::getCapabilities()

This CL adds MediaTrackCapabilities.idl and
MediaStreamTrack::getCapabilities(). The latter function is wired
to grab the capabilities from image capture, since these are
the only ones available ATM.  These capabilities should only
be collected for Video tracks from devices (i.e. not for
tab/window/cast/remote etc).

MediaStreamTrack.getCapabilities() is synchronous, whereas
image_capture mojom::getPhotoCapabities() is not -- the former
probably doesn't make a lot of sense Spec-wise but, regardless,
I don't think is a good idea to make the Web thread wait for
these capabilities to be collected, so what this CL does is
to trigger such collection upon MediaStreamTrack ctor, without
waiting for this process to be finished. (IOW I tried alternatives
and were much worse).

Added LayoutTests for starters.

This bug is part of a transition from
 ImageCapture.getPhotoCapabilities() to MediaStreamTrack.getCapabilities()
but, since Image Capture is already in Origin Trials, I'm
planning on landing the new infra in parallel, then send a PSA
and switch over (that's why there's a few TODOs) in the code.

BUG=700607

Incidentally, it improves the state of
external/wpt/mediacapture-streams/MediaStreamTrack-init.https.html
by allowing the test-for-getCapabilities() to PASS.

Review-Url: https://codereview.chromium.org/2747573002
Cr-Commit-Position: refs/heads/master@{#457150}
14 files changed