Match FF and IE behaviour when shrinking width to avoid floats.

When a box that avoids floats (e.g. overflow:hidden) has negative inline
margins and needs to shrink width in order to stay on the same line as a float
then drop the negative margins completely (i.e. set them to zero). Do this because negative
inline margins increase the width of a box and if we keep them they will
push the box below the float.

This treatment makes us compatible with IE and FF - the 'correct' behaviour
is not defined by CSS (http://www.w3.org/TR/CSS2/visuren.html#bfc-next-to-float:
"CSS2 does not define when a UA may put said element next to the float or by how
much said element may become narrower.") - so its purely a question of behaving
as consistently as possible with other browsers.

BUG=350473

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

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