message history trimming on timer

uses a timer to trim the message history for the currently open rooms.

- skips lobby
- only trims rooms that have been typed in since last history fetch
- trims messages exceeding 500

@davidfowl @alfhenrik