Implement Paint Containment

Paint containment acts as a containing block for all objects, including
fixed. It also clips them. It's also a formatting context and a
stacking context.

The approach in this patch differs from the spec in one very notable
way: it does not mess with the computed style of the overflow property.
This is a conscious decision I hope to work with Tab to address.

Paint Containment description from spec:
https://drafts.csswg.org/css-containment/#containment-paint

Intent to implement:
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/9W80Kw-z3ss
BUG=561713

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

Cr-Commit-Position: refs/heads/master@{#365178}
31 files changed