Permanent messages

This pull request incorporated the changes from #111 to implement permanent messages.

Permanent notifications differ from normal ones in that permanent messages are not contained in the messages queue and can be displayed in addition to the other messages.

Permanent notifications do not get dismissed automatically, hence they do not have a duration but have to be dismissed by the user or programmatically in one of the callbacks.
The constructor for a permanent message also returns the instance of the message view, so that one can also capture it and dismiss it with other custom events.