Refactor messages

After some thought, I realized that Messages::player_message.add_msg() was simply too much boilerplate for one of the most often called methods in the game (2300+ times, I checked), so first I turned all the message methods static so they only need the class namespace and not the object (this also let me make the object and the message data struct totally private), then I made add_msg() in particular a global friend function so we can invoke it super easily.
Finally I fixed a bug I noticed where the log window wasn't displaying more than one log.
Scrolling the log window is still broken.