separate TextLinebuffer and HTMLRenderer
rearrange files
use reference instead of pointer