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.