Add `Control.Concurrent.Chan.tryReadChan`
See https://github.com/haskell/core-libraries-committee/issues/196.
Unfortunately, this implementation of tryReadChan
may still block if other threads are reading from the same channel concurrently. Iif you have an idea how to avoid that, please let me know!