two-thread caching harfbuzz-freetype text renderer