Introduce RenderingConfiguration

The RenderingConfiguration object will hold a static snapshot of information
from the main thread that the render tree can access safely during layout. This
CL populates the RenderingConfiguration with a view bits that appear to be
accessed frequently and deploys the use of RenderingConfiguration in the first
location that triggered a threading ASSERT.

In addition, this CL removes RenderView::printing() to force clients to be
explicit about whether they want to get this information from the main thread,
via document(), or whether they want the threadsafe snapshot. Access to the
main thread and to the snapshot are guarded by ASSERTs to force code to pick
the correct copy of the information.

Finally, this CL adds an ifdef to make it easy to toggle between permissive and
strict threading rules.

R=ojan
BUG=289678

Review URL: https://chromiumcodereview.appspot.com/23866009

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