Revert "Revert "gui/channellist: display event list asynchronously""

This reverts commit 1047163ecbdcb0f46809887fcd0679111fd538e8.
Revert "Revert "gui/channellist: paint_events thread: re-check for channel change after small grace period""

This reverts commit e664a4c467ecc1da6d439516cacca37aa9ce811b.
Revert "Revert "gui/channellist: display event list asynchronously: limit to single paint_events thread""

This reverts commit ce2fe71911014ecfb9e4ff27add8c3005610fa01.
Revert "Revert "gui/channellist: display event list asynchronously: move semaphore and lock to class""

This reverts commit dae40e544664b801ae6d76e59a7d3da532a8ef61.
Revert "Revert "gui/channellist: display event list asynchronously: fix thread termination""

This reverts commit b76fdb32f7792ced0c78e10f822bd7ea81c91407.
Revert "Revert "gui/channellist: fix paint_events thread creation""

This reverts commit 997531d2bd64d13a227edcd6631cd868bb55311d.
Revert "Revert "fix cherry-pick""

This reverts commit eb8fa0c2ff066309af07981f797755ab3582a846.