TextWindow.cs: fix scrollbar did not maintain its position relative to current text when old text is being cleared away from the chat window
(usually it moved down when old text is being cleared)
ToolTabs.cs: fix issue #84 , middle-mouse button on channel tab close that tab but do not leave channel.
ChatControl.cs: ops, fix typo in "ADDUSER missing" safety check (<= instead of correct < for iterating array) & use List instead of primitive array (tiny cleanup)
fix issue #84 (tooltab now use different name for PM than for Channel. Internal changes only, no visible change in UI). Also, use threading to save/retrieve chat history (this is related to issue #84 too, but have added benefit of reduced chat tab's initialization time!)
Undo https://github.com/xponen/Zero-K-Infrastructure/commit/7b32e680d8f1a4b976d0a15905da4f929bcae392 because threading sound a bit dangerous (I'm just a newbie at this :( , can't really profile memory/CPU usage properly) & found timing issues: history text shown AFTER subscribed message is shown.
finally fixed issue #85 without using threading (turn out that simply delaying file write is sufficient).

Now HistoryManager.cs stores chat lines in buffer before writing them (all at once) to a file.
AdvertiserTab, DownloaderTab: "lazy UI initialization" (do not initialize their UI until Tab is open. Aiming for a bit increase in efficiency.)

ChatTab.cs: remove empty Load event.
BattleListTab (Multiplayer tab): UI also do "lazy initialization" with aim of efficiency (possibly reduce startup time a bit too).
Misc. minor stuff
Whitespace fix
Add pagination to forum view; "mark all as read" button (untested)
split the "X is admin for ZK/Lobby"

these are separate statuses but some people are both
ditto
fix to offline message deleation
fixed paginators
ToolTabs.cs: non-pm tab get "_chan" (in internal name) just like pm tab get "_pm" to avoid channel with "_pm" as name.
remove the lobby moderator part
same for the other file
Replace returning "must be logged in" messages with [Auth]
Pipe VPN check errors to admin channel