make open faces cache thread-safe
Each thread has own open faces cache to avoid sharing cairo_font_face_t
in multiple threads which fixes #845 (closed). This also fixes #846 (closed) as manipulation of cache linked list is now local for each thread and protected by mutex because cairo will sometimes call _ft_done_face
from another thread due to its cairo_scaled_font_t
holdover cache.