Don't leave stale pointer into m_grid

This change fixes several stale pointers issue in our code:
- We would wrongly add boxes wrapped in anonymous wrappers to
m_grid, which would never be removed.
- RenderBlock::removeLeftoverAnonymousBlock would remove some
anonymous wrappers under RenderGrid without notifying it of
the hierarchy change (yay!).

To fix the second issue, I took the more conservative approach
of notifying RenderGrid of any child's death and not clearing
parent in removeLeftoverAnonymousBlock.

BUG=313293

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

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