Bug 1041124 - [Messages][Refactoring] Make use of EventDispatcher in MessageManager. r=julien

I don't like calling "init" here, too much things are happening while the client code merely wants to access the object.

Moreover in the future "init" might be asynchronous (or we can have another lifecycle method like "preload") to lazyload the dependencies. You can't do this with a getter.

My idea was to call init directly from Navigation when needed for panels. For MessageManager it would be in startup.js.

So for MessageManager itself I'm not completely opposed but I'd rather keep it in startup.js, at least for now.