[WebSocket] Mark WebSocket uncollectable when m_eventQueue is not empty

didClose may be called during the WebSocket is in suspended state. In that
case, m_state is set to CLOSED but event dispatching will be delayed.
Since m_state is CLOSED, the WebSocket may be garbage-collected, and then the
events are thrown away without being dispatched.

We change hasPendingActivity() to respect whether m_eventQueue is empty or not
to keep the WebSocket alive until they're dispatched.

BUG=none

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

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