bindings: Ensures the object living during creating a wrapper (ScriptWrappable).

This is the same fix as http://crrev.com/591463002 to ScriptWrappable.

Unlike Node or its subclasses, ScriptWrappable is not RefCounted<T>,
so we cannot simply write:
    RefPtr<ScriptWrappable> protect(this);

This CL defines ScopedRefCountWithWrapperTypeInfo and uses it as an
equivalent of RefPtr<ScriptWrappable>.

BUG=411735,235436

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

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