Fix infinite recursion in computePreferredLogicalWidths.

RenderReplaced::computeReplacedLogicalWidth walks up to it's
containingBlock in some cases and asks for the containingBlock's
width. If the containingBlock's width itself depends on the
RenderReplaced's width, then we infinite loop. Avoid the
infinite loop by making sure that width/min-width/max-width
are all specified on the containingBlock, which will keep
the width from depending on it's children.

Added FIXMEs. I think we should delete all this containingBlock
walking code, but it needs to be done carefully to make sure
percentage widths on <svg> keep working. The spec actually
considered this undefined behavior, but suggests doing the
crazy that we do here.

BUG=344647

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

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