Just use a single fontconfig thread
In ac4d8f29, we switched from using GTask to using explicit threading for our fontconfig calls, since GTask assumes a mainloop and leaks memory otherwise. But now we are creating a new thread for every single fontconfig call, which is a bit excessive. As a compromise, create a single fontconfig thread per fontmap, and use an async queue to send fontconfig calls to that thread.