Change LayoutState to be stack-allocated

LayoutState does 2 fundamentally different things: it acts as a quick
repaint mapping between renderers and their repaint container (currently
only the RenderView crbug.com/363834), and keeps track of various layout
tree information (like the current pagination model).

Because the fast repaint mapping doesn't work for all types of renderers,
there's a concept of LayoutState being disabled, and sometimes not 'pushed'
at all. This CL renames the disabled state, which only applies to the
repaint optimization, to layoutStateCachedOffsetsEnabled, and makes
LayoutState stack-based instead of heap-based. It now will always "push,"
and tracks whether or not the repaint optimization is disabled as part of
itself.

This is one step in the process of teaching LayoutState to work on
renderers that aren't the RenderView.

BUG=363834

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

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