v8binding: Makes Location's wrapper objects alive, really.
a) V8HTMLDocument's locationAttributeGetter is NOT using a private
property to keep the location's wrapper alive.
b) Location.idl does NOT specify [DependentLifetime].
c) V8 minor GC can collect a wrapper object of document.location
if author script has no reference to it.
d) V8Window::locationAttributeGetterCustom is using a private
property to keep it alive, but it may be too late. At c), V8
may have already collected the location's wrapper object, and
expandos may have been gone.
The direct cause is that
1) There are two paths to create a Location's wrapper object;
window.location and document.location.
2) document.location doesn't use a private property (keep_alive)
though window.location uses it.
This CL makes the following changes.
i) Uses the wrapper tracing in order to make Location's wrapper
ii) Makes Location [DependentLifetime] so that the wrapper tracing