[CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors

CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update
Color.cpp parsing for the new syntax. Add a test, ditch the
canvas/philip invalid hex tests, update existing tests.

Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and
the patch by Dean Jackson to resolve which is included here
verbatim, with additional support for legacy HTML attribute
color parsing based on Dean's follow-up patch [1].

Obsolete legacy HTML attributes parse colors via the "rules
for parsing a legacy colour value" of the HTML micro syntax
(see http://bit.ly/1WF2Yre). Limit legacy parsing to accept
only 3/6-digit hex color for compat, add a comment (covered
by fast/dom/attribute-legacy-colors.html).

Fix quirks mode color parse, per http://bit.ly/1VPZFic, and
update fast/css/parsing-color-quirk.html with 4/8 digit hex
color test cases for the-hashless-hex-color-quirk.

Finally, in Blink's fastParseColorInternal() CSS fast path,
only allow hashless 3/6-digit hex color in quirks mode, add
test cases to fast/css/parsing-color-quirk.html.

Spec: https://drafts.csswg.org/css-color/#hex-notation

Change in behavior: add fast/css/hex-colors.html

[1] http://trac.webkit.org/changeset/200501

BUG=76362

Review-Url: https://codereview.chromium.org/1936913002
Cr-Commit-Position: refs/heads/master@{#393438}
20 files changed