[css-pseudo] Support 'content' property in ::marker for LayoutNG

This patch adds support for a ::marker PseudoElement that obeys the
'content' property similarly to ::before and ::after.

This PseudoElement is only generated when 'content' is not 'normal',
otherwise the marker continues being an anonymous box. This will be
addressed in a follow-up patch.

Also, this only works in LayoutNG, since the legacy LayoutListMarker
doesn't allow children. Will also be addressed in a follow-up patch.

Spec: https://drafts.csswg.org/css-pseudo-4/#marker-pseudo

Bug: 457718

TEST=external/wpt/css/css-pseudo/marker-content-003.html
TEST=external/wpt/css/css-pseudo/marker-content-003b.html
TEST=external/wpt/css/css-pseudo/marker-content-004.html
TEST=external/wpt/css/css-pseudo/marker-content-006.html

Change-Id: I34097f9763cec626e898aff07681cd3e766afb49
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1930835
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#718609}
16 files changed