Remove the channel from Window and place it into EventReceiver.

This change is intended to help facilitate sharing of the window object with other tasks. This is needed if you have a render task that needs to call `swap_buffers` separately from the task that is handing input.

Previously you could place the Window into a `MutexArc` and share it between tasks with some success. This type has been removed and replaced with `Arc<Mutex<>>`. The other problem came from the introduction of the `Share` trait, Receivers cannot be Shared which poisons the `Window` making it `NoShare`.

This is a breaking change unfortunately.