To fix performance issues when processing accumulated XmppMessages in JS when returning to the lobby from a long game reported in #3386, we added
two conditional skips of GUI updates in rP16997.
The first was clearing all presence changes (available <-> busy), instead of calling updatePlayerList a gazillion times.
The second was only calling updatePlayerList for the last channel join / leave instead of for every.
Both improvements added an XmppClient.cpp function, but only the first one really has to be in C++.
The second one can be done solely in JS, so the engine can become not only more leightweight and the updating can become more accurate too
(no redundant updates, no missed updates, merging update calls).
(The first one should be kept in C++ so that useless GUI messages aren't even sent to JS if JS orders that).