[css-typed-om] Refactor StylePropertyMap.set/append.

This patch is a follow up of crrev.com/770606. We make set/append non-
virtual. To override behaviour, subclasses need to implement:

    void SetProperty(CSSPropertyID);
    // technically, there should be a SetCustomProperty as well, but
    // we don't support setting custom properties yet.

This reduces duplicate boilerplate code across different style maps.

Note: Most of this change is moving code from InlineStylePropertyMap
to the base StylePropertyMap class.

Bug: 785132
Change-Id: I7ee0882846298fd58f7cec60b9f51884da1a8355
Reviewed-on: https://chromium-review.googlesource.com/770839
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518869}
4 files changed