[DevTools] Support CSS media feature emulation in CDP

This patch makes the pre-existing `Emulation.setEmulatedMedia` API in
the Chrome DevTools Protocol support emulating CSS media features, in
addition to CSS media types (which it already supported).

The new functionality can be used to emulate `prefers-color-scheme`
(light/dark mode), `prefers-reduced-motion`, and any other media
features Chrome implements from now on.

Design doc: https://goo.gle/devtools-dark-mode

Bug: chromium:1004246
Change-Id: I62ade2fa978a78e90e00b47915101950ca735c62
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1821608
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Cr-Commit-Position: refs/heads/master@{#701084}
7 files changed