I like the rendering with FTSimpleLayout, but what I miss is an option to change properties of my text, for example color, halfway the text. I think a solution would be to advance the raster-position, so that you can render some text, change a few options and then render some more text starting from where your last text ended.
How would you think about a callback system? Inserting control characters in your string, which, when seen by the renderer, cause it to execute the callback with relevant context information.