Fix crash bug where overlap map was accesing below the bottom of its stack

A crash occurs with an unlucky combination of (1) compositing not
enabled yet, (2) composited negative z-index child, and (3) a second,
non-composited negative z-index child. In this scenario, the second
child was trying to add its bounds to the overlap map but no one
had actually created an overlap context on the stack.

The rule of thumb is that whenever we defined a layer as compositing
in computeCompositingRequirements, we must make sure we created
a new overlap context for its subtree. This was not happening
for the composited negative z-index child.

BUG=285979

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

git-svn-id: svn://svn.chromium.org/blink/trunk@157803 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix SVGUseElement to not force a layout in instanceRoot.

This was causing us to use a freed PartialLayout object in Document::updateLayout.
There's no reason to force a layout when, as best I can tell, we only
need to recalc style.

BUG=288761

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

git-svn-id: svn://svn.chromium.org/blink/trunk@157804 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move WEBCORE_NAVIGATOR macros defaults from the build system into a cpp file to reduce their's scope.

Use the uname() call on all unix-like systems to determine the OS name not just on Linux to make the code more portable.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@157805 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move LineWidth class and related code into LineWidth.{h,cpp}.

RenderBlockLineLayout.cpp is getting bigger and bigger, it's hard to find and modify things in it. The first goal would be to separate the helper classes to their own files to reduce its complexity. The helper classes will be used by the ongoing refactoring of the RenderBlockFlow later.

Merged from WebKit:
 - http://trac.webkit.org/changeset/155565
 - http://trac.webkit.org/changeset/155569

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

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