WIP: xrd-render-lock: improve locking

Most changes inside xrdesktop are caused by user input. Instead of littering everything
fine granular with locking, rather lock around gxr_action_sets_poll().
Since g_timeout callbacks run on the main thread, everything caused by user input is locked.

Remaining locks are necessary around:
* Adding and removing windows (locking is contained in XrdWindowManager)
* Callbacks on a timer, e.g. pointer tip animation

We use a recursive mutex, because adding windows can have two sources:
1. Newly created window is added by window manager integration
2. Opening the xrd button menu, caused by input which is already locked (on the same thread)
3 jobs for christoph/render-lock-in-xrdesktop in 1 minute and 53 seconds
latest
Status Job ID Name Coverage
  Test
passed #1923922
build:arch

00:01:51

passed #1923924
build:ubuntu18.04

00:01:52

passed #1923923
build:ubuntu19.10

00:01:45