Weak Reference class that does not bother GCing.

Usage:

foo = Object.new
foo = Object.new
p foo.to_s			# original's class
foo = WeakRef.new(foo)
p foo.to_s			# should be same class
ObjectSpace.garbage_collect
p foo.to_s			# should raise exception (recycled)