add support for graphviz, HarfBuzz and Pango

this builds upon the works done in #453