Split StyleSurroundData::margin into four individual Lengths.

In StyleSurroundData, the margin longhand properties are stored in a
single LengthBox. This makes it difficult to generate because the
generator assumes that properties don't share storage.

This patch splits the LengthBox margin into four Lengths: margin_left,
margin_right, margin_top, margin_bottom. This enables us to generate
the margin properties properly.

This patch also adds a MarginEqual helper function to check if two
margins have the same value.

BUG=628043

Review-Url: https://codereview.chromium.org/2824973002
Cr-Commit-Position: refs/heads/master@{#466233}
6 files changed