Add support for messages, along with a global lookup map and random choice of messages.
We now have an inner and outer viewport, and entity positions are relative to the inner one while drawing happens to the outer one.