[CSS Shapes] Dynamically created element with image valued shape-outside doesn't update

Corrected the way shape-outside handles the completion of an image load. Move the shape-outside imageChanged() logic from RenderBlock to RenderBox and call markShapeOutsideDependentsForLayout() instead of parent()->setNeedsLayoutAndPrefWidthsRecalc(). The latter did not deal with descendants of the shape element's siblings correctly and it failed when the shape element was inserted dynamically. The markShapeOutsideDependentsForLayout() method can't be called during layout, so the imageChanged() code checks for that. The only scenario where imageChanged() can be called during layout (that I've discovered so far anyway) is when an SVG Image is rendered  with drawImage(). The Shape::createRasterShape() does, and the corresponding imageChanged() notification can be safely ignored.

BUG=339136

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

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