Fix up CSSStyleDeclaration::cssText serialization

This patch fixes up CSSStyleDeclaration::cssText serialization in
several ways:
- Removes switch statement and just defers to getPropertyValue. This will
    allow us to move generic checks (e.g. for initial) up so individual
    shorthand serialization routines don't need to handle it.
- Supports all shorthands (except font) now. This adds support for
    marker, columns, column-rule, font-variant, -webkit-margin-collapse,
    -webkit-mask-repeat, -webkit-text-stroke.
- Support serialization as border-top/bottom/left/right. Currently we
    only use border and border-width/color/style. As per CSSOM, we
    prefer (e.g.) border-width to border-top as it has more longhands.
- Avoid serializing border-image when border is serialized as
    border-image is a reset-only sub-property (but border serialization
    still fails to require border-image to be correctly set).

https://www.w3.org/TR/cssom-1/#concept-shorthands-preferred-order

BUG=612363

Review-Url: https://codereview.chromium.org/1984163002
Cr-Commit-Position: refs/heads/master@{#394653}
8 files changed