Don't call v8::Persistent<.>::SetWeak on an empty persistent.

Why? Calling SetWeak on an empty Persistent makes no sense, since by
definition the callback will never be called since there is no
object whose garbage collection could trigger the callback. So far,
this behaviour is useless bug bening. Note that here the callback would
clear the Persistent which was actually empty anyways.

Really why? In the process of fixing crbug.com/368095, we've come
across a case where SetWeak on an empty Persistent is actually harmful,
and we'd like to ASSERT against this (crrev.com/265823006). This code
currently breaks the fast/dom/node-filter-gc test, hence this fix.

R=jochen@chromium.org
BUG=368095,358858

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

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