Consistently disable the LayoutState for certain layout situations

Consistently disable the LayoutState for certain layout situations.  Right now,
each class that pushes a layout state disables it with a certain set of conditions.
FrameView::performLayout also looks for disabled layout state in the subtree, but
does not use the same set of conditions.  This patch tries to consolidate those
conditions and make them consistent as well as reducing the number of parameters
for LayoutStateMaintainer constructor.

BUG=None

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

git-svn-id: svn://svn.chromium.org/blink/trunk@167544 bbb929c8-8fbe-4397-9dbb-9b2b20218538