Extract text manipulation functions from SessionController

Following the behaviour introduced with DirectTextStyler and friends, this pulls the text manipulation methods out of the SessionController, and exposes signals that external subscribers and use for interaction with this object.