Created gpf.Callback

And did some optimizations
Rewrote events / broadcaster using gpf.Callback
Defined IReadableStream & IWritableStream