Store shadow information in a vector instead of a linked list

Currently ShadowData is a linked list (it contains an OwnPtr<ShadowData>).
This means that doing anything nontrivial is much harder than it should be,
so this patch changes it into a vector. The current linked list is stored
in reverse order, while the new vector is stored in the specified order,
so most iteration over shadow information is now in reverse order (the
first-specified shadow is painted on top).

As a result of the change, the existing interpolation logic for shadows
is greatly simplified. Also the style builder phase is moved to the
generated code since we can now fit the pattern (the current behaviour is
having the style builder create individual nodes and the RenderStyle join
them). We also can share text-shadows when they are inherited.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160282 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add the new properties of css3 text into nonstable-css-properties.html

text-align-last and text-justify are newly introduced properties
which are currently runtime enabled feature.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160283 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Use Skia API on Windows to get font family name

Change the Windows implementation of FontPlatformData::fontFamilyName
to use the SkTypeface getFamilyName API instead of calling GDI directly.
This further reduces our reliance on HFONTs and gets us closer to
removing the HFONT reference entirely.

BUG=251355
R=pdr@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160284 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Web Animations: cssAnimations() and defaultStack() should return references

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160285 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove LayoutTest animations/fill-mode-forwards.html

This test relies on receiving a specific number of animationiteration events.
However, in both the legacy and Web Animations implementations, we do not
guarantee that the correct number of these events is fired. See
crbug.com/275263. We have no immediate plans to fix this and the flakiness
dashboard shows timeouts for this test with both implementations.

The test was added to test a particular bug fix in the legacy animations
implementation (http://trac.webkit.org/changeset/117216) and has little to do
with forwards fill.

Most cases of forwards-fill testing (excluding play-state and events) is
covered by timing-model.html

This test therefore adds little value and should be removed. We can consider
reinstating it if and when the underlying bug is fixed.

BUG=275263
R=dstockwell

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

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