This change removes the need for poll_events on a Window, per issue #31.

It removes the stream-based event handling in favor of a Window-local
map of pointers to registered callback closures. These closures are
owned by the raw C window and are released when the window is destroyed.

Questions:
- Can you double-check the pointer lifetimes, particularly around the closures?
- Where should ```get_fns()``` go? I currently have two copies (in extfn.rs & lib.rs) because I wasn't sure which was better. And it doesn't seem like something that should be ```pub```.