Panel user list update refactor

Related Trello card: https://trello.com/c/4K7Nklbx

This fixes the situation where we were sending the whole list of users every time a user joined or left, so the view was fully reconstructed every time which had an important impact on performances.

Depends on:
- <del>#409</del> merged

This is ready for review.