fix segfault in GlobalPropertyGetter() (closes #89)

GlobalPropertyGetter() is a static function. It can be invoked on
a context which has already been disposed off.

It turned out that there were two possible segfault reasons.

The most obviuos one was NULL pointer dereferencing.

However, there is no way to check whether the context is alive by
examining content of it or its sandbox. Both could look valid, but cause
segfaults in node. As a woraround, we add a self-reference which we clear
on destruction. A valid self-reference is a solid indication of a
valid context now.
> I don't see why you would not be able to dereference this in a destructor. How else would you do destruction of members?

Maybe I wasn't clear enough. I've never tried to mean this.

> That being said, I don't understand why you would indicate aliveness with a pointer? Why not use a boolean?

I've tried to use a boolean first. It didn't work. If the object is collected and then overwritten, we receive a false positive and have a crash. It is still possible to have a false positive with a pointer, but chances are much lower.