shape-outside does not properly handle different writing modes

Fix ShapeOutsideInfo to properly convert the line coordinates and shape
coordinates with respect to the writing mode and writing direction for
the lines that are affected by the shape. This is notably different from
shape inside in that shape outside needs to use the writing mode of the
container, not of the element that the shape is applied to.

This also fixes the handling of negative top margins on the float.

R=leviw@chromium.org
BUG=322165

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

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