Implement matching part of ::slotted() pseudo element

This CL is split off of
https://codereview.chromium.org/1523843004/

and implements mathcing part of ::slotted() pseudo element.
This CL depends on parsing part:
https://codereview.chromium.org/1565263003/

Implements ::slotted() pseudo element, whose spec is discussed at
https://github.com/w3c/webcomponents/issues/331

BUG=531990
TEST=new layout tests

Review URL: https://codereview.chromium.org/1575363006

Cr-Commit-Position: refs/heads/master@{#370650}
14 files changed