Modified timesamps

Modified the previous commit after discussing it with Soliton. We agreed
on sending timestamps to other players and using them in displaying,
with a fallback to using local time if received message without the
"time" field.

This fixes several issues:
1) when viewing replays the time would be the one of the actual game
insted of the time of viewing the replay;
2) previously, when opening some dialog while players send message and
closing it — chat messages would have timestamp of when the dialog
windows was closed, not the time when messages were sent.

This also introduces one new issue:
1) if a layer has time set up wrong, the time stamp will be incorrect.
For example, when instead of setting to the right timezone a player just
adjusted system time with incorrect timezone.