Use ChildFrameDisconnector when detaching child frames of a LocalFrame.

Currently, UpdateSuspendScope is used to defer widget updates when the
DOM hierarchy is mutated. This is used to prevent script from running
in the middle of DOM mutations, since plugins can run script when
destroyed.

This is part 1 of 2 CLs to remove the need for UpdateSuspendScope. Part
1 changes LocalFrame detach to always use ChildFrameDisconnector to
detach child frames. Part 2 will rework ChildFrameDisconnector to also
detach plugin elements. This should eliminate the need to defer widget
updates, since script will never have to run during the actual mutation
of internal state.

BUG=524113,528867,561683,621362

Review-Url: https://codereview.chromium.org/2134113002
Cr-Commit-Position: refs/heads/master@{#405040}
6 files changed