ImageCapture: separate fillLightMode, redEyeReduction and Torch

Implementation catch-up to some idl changes (already landed):

- RedEyeReduction capability-reading-wise is changed from being a
  boolean to an enum ("never", "always", "controllable")

- FillLightMode enum capability-reading-wise is changed to
  returning an array of supported capabilities (vs. on ToT
  where the _actual_ setting that was returned).
  It also loses the enum entries "none" and "torch": "torch"
  is separated, and the condition of "no fill light mode
  supported" is indicated via an empty supported mode array.

- MediaTrackCapabilities/ConstraintSet's |torch| is wired all
 the way down to the implementations.

Here and there I reordered the capabilities/settings
manipulation to follow the idl definitions.

BUG=700607
TEST=Update LayoutTests, capture_unittests and manual
testing using e.g.
https://rawgit.com/Miguelao/demos/master/imagecapture.html

Review-Url: https://codereview.chromium.org/2787933002
Cr-Commit-Position: refs/heads/master@{#461293}
21 files changed