To our surprise we have to conclude that with the current SVG standard 1.1 as well as with the upcoming 1.2 (based on SVG-T) it will not be possible to implement a full backend in SVG.
The primary hinder is the lack of adequate text manipulation in the current SVG standard. In addition the implementation of the text supporting feature in current SVG viewers range from poor and erroneous to non-existing.
The only way to solve this would be to drastically reduce some functionality of the library in regards to text handling and require the user of the library to supply text sizes to be used in many places of the library where that is needed.