When the ::first-letter pseudo element is added or removed, it causes a
Reattach which means everything will work fine for ::first-letter changes.

However, if there is a change in ::first-letter style, but the element had
::first-letter style both before and after the change, we would not try to
recalc any ::first-letter pseudo for LocalStyleChange.

The introduction of LocalStyleChange for :hover/:active/:focus caused a
regression for the combination of ::first-letter and e.g. :hover.

This fix does a SubtreeStyleChange for :hover/:active/:focus updates when
the existing renderStyle is marked as having ::first-letter pseudo.

::first-line is working fine. Added a layout test to make sure it will
continue to do so.

R=esprehn
BUG=344322

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

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