window: Draw the Pango layout rather than the string text
window: Add POC tabstop handling
window: Maintain a mutable state array between paintline and painttext
window: Maintain tab pos across separate calls to painttext().

Yay! Now you can mark and copy text with tabs in it without the layout shifting.
window: Comments/formatting cleanup