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. This also fixes #846 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.