Simple broadcasting mechanism using go channels
This is a simple broadcasting mechanism where gouroutines can subscribe and unsubscribe to recieve messages from the Messenger instance.
Channels can be buffered to reduce blocking and messages can be dropped if channel's buffer is full. These are configurable options.
Because i needed this for some silly stuff and ofcourse, why not!