Add the concept of priorities to TSMessages

- Messages are presented in order of their priority
- This happens by sorting the messages list just before "fading in" a new message
- If there are no differences in priority, the order stays the same

One does not need to use this new functionality; calling the original initialization methods without a priority will result in a normal priority. Note that previously a fadeOut always removed the first object in messages. I've changed this to always remove the object being faded (which should be the first). This is not essential to the new feature, but I thought it made sense with these changes.

--------
Hi Felix,
This is something I did for my own project that uses TSMessages. Care to have a look and let me know if you think it's worth to merge this?

Thanks! 
Steven