WebThreadSupportingGC's destructor should have a safe point scope

WebThreadSupportingGC's destructor can block because WebThread's destructor blocks until all the tasks are processed. Thus we should add a SafePointScope to WebThreadSupportingGC's destructor. This CL does it.

The reason the current WebThreadSupportingGC is working without having the SafePointScope is that the caller side of the WebThreadSupportingGC uses a TaskSynchronizer to avoid the dead lock that the WebThreadSupportingGC may cause.

After landing this CL, we can remove the TaskSynchronizers from the caller side.

BUG=340522

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

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