fixed newer v8 compilation

I noticed that PersistentHandle::Clear() in newer v8 code marked for removal and might not work as expected. 

template <class T>
void Persistent<T>::Dispose() {
  if (this->IsEmpty()) return; //Clear will trigger this
  V8::DisposeGlobal(reinterpret_cast<internal::Object**>(this->val_));
  ...
}
I put Clear into old branch of code, someone using old v8, please check that Dispose() with or without Clear() actually works as expected.