WeakEvent and required stuff to make it work

- Updated WeakDelegateNeedle
- Added WeakSet
- Added WeakDelegateSet
- Added WeakEvent
- Added GCMonitor [Provides "Garbage Collected" notifications]