Fix egregious MessagePort memory leak

This fixed a regression from https://src.chromium.org/viewvc/blink?view=rev&revision=162054

That patch was almost completely correct, but removed one bit of boolean
logic from MessagePort::hasPendingActivity. The old code was delegating
to MessagePortChannel::hasPendingActivity, which was effectively checking
whether close() had been called on the MessagePort. The check got removed
then MessagePortChannel was deleted in r162054, and didn't get properly
replaced with anything. This meant that entangled MessagePorts would leak
the entire ExecutionContext (usually the Document).

My fix restores the has-close-been-called check by delegating to isEntangled(),
which expands to the expression "!m_closed && m_entangledChannel".

R=abarth@chromium.org
BUG=345702
TEST=open task manager, open gmail, reload 10 times; memory usage should be stable (instead of growing unbounded)

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

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