hmmm, well, got a little patch for pango that adds PANGO_SCRIPT_PREFFERED - if a module covers PANGO_SCRIPT_PREFERRED then it will be chosen before an exact script match or an exact common match or any fallback. Want to think about it a little more before I submit it though.
Using that, and my patch for fontconfig fontconfig bug 105 which allows detection of graphite ttf table and some opentype features have made the beginnings of the silgraphite module for pango, Have the covers function so that if the font isn't a graphite font it should fallback to using the shaper engine that would otherwise have been used.
Now all I need to do it get a PangoGlyphString from silgraphite (for the silgraphite shaper function) and find out if graphite is stable enough for heavy usage like this.