Revert "Reverting custom pseudo element".

This is not the same as a patch for just reverting r164153.
To make a patch smaller,
- Element IDL does not have webkitPseudo (not reverted).
- pseudo() invokes shadowPseudoId() (the old code uses pseudo() in shadowPseudoId()).
- setPseudo() also invokes setShadowPseudoId().

c.f. https://src.chromium.org/viewvc/blink?revision=164153&view=revision

BUG=349144
TEST=fast/dom/shadow/pseudo-attribute-rendering.html,fast/dom/shadow/styling-pseudo-attribute.html,fast/dom/shadow/shadow-pseudo-id.html,fast/dom/shadow/pseudo-attribute.html,fast/dom/shadow/styling-pseudo-attribute-in-shadow.html,fast/dom/shadow/shadow-nested-pseudo-id.html,fast/dom/shadow/custom-pseudo-in-selector-api.html,fast/dom/shadow/pseudo-attribute-dynamic.html

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168627 bbb929c8-8fbe-4397-9dbb-9b2b20218538