Implement Layout Containment

Layout containment provides a guarantee that an element's subtree will
not escape its bounds in a layout-impactful way. This means that the
element's descendants don't impact its size, so it collapses away
when the size isn't specified. It also creates a formatting context.

Layout Containment description from spec:
https://drafts.csswg.org/css-containment/#containment-layout

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

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

Cr-Commit-Position: refs/heads/master@{#378906}
6 files changed