Only registering for the events we need.
Added a more stable way of getting the source ID.
The names here are symbols in Ruby 2.0.0.
Making sure to keep the bindings around and registered with the GC.
Making sure to clear the exceptions after a function call.
Using register/unregister address instead of gc_mark.
Using rb_gc_register_address instead of rb_gc_mark. Also now unregistering the addresses so they can be GCd again.
If we're at the top level, then we don't have a window.
The InjectedScript is now a little more secure. Users scripts can no longer access the InjectedScript class.
Alright. Now this works a little better.