Use shared instances of TextRenderer rather than creating new ones (mostly applicable to TextOverlay); allow configuring the hostname for Faceshift to connect to.

I'm curious to know what use the **static** keyword does on this context (and for the qHash() method above).  These look like helper functions to me, implemented without declaration and only used in this cpp file so from my understanding of C++ the static declaration doesn't do anything. In fact, I didn't know non-member functions could be declared static.

This comment doesn't block the merge.