Threads safer objects
While gjs operates in the single-thread JS world, we've to deal with GObjects and callbacks that may come from different threads, and we were not dealing perfectly with them.
So:
- Switch ToggleQueue to handle ObjectInstances instead
- Make ToggleQueue usage safer when we're handling it from different threads
- Related cleanups to make sure we're always thread safe in multi-thread places
- Finally add another CI job using ThreadSanitizer for most of our tests
Bonus points, close #297 (closed) #404 (closed) and #406 (closed)
Edited by Marco Trevisan