Added tab completion to in-game chat.

 - Both player names and chat commands can be completed.
 - Names of local players and bots are not candidates for completion.
 - If a completed name is the first word ": " is appended to the end.
 - The hotkey for toggling team/all chat has been moved to left Alt.
It's a `readonly` field so we cant replace the referenced list with something else. But it's still a `List` and not a `ReadOnlyList` so the values in the list itself are free to be changed.

I'm currently looking at how to best handle dropped players.