Add an async-channel appender

Allow logging to a core.async channel.