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.
- 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