new text layout engine for TextArea