Convert first letter into a pseudo element.

This is a reland of first letter as a psuedo element after the revert
in r184113.

Currently, first letter renderers are created and destroyed through the
updateFirstLetters() call in RenderBlock. This has, historically, been
problematic as we may miss places where the call was required, leading to
accessing invalid memory.

This CL converts the first letter code to use a PseudoElement for the
first-letter instead of creating classes during layout.

With the PseudoElement implementation the two tests which are currently in
LayoutTests/fast/css/first-letter-removed-added.html work as expected.

BUG=391288

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

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