- add cursor marker extraction for rendered lines
- move the terminal cursor after full and differential renders
- update input to use the real cursor instead of a block glyph
- add text, box, and single-line input components
- support input change, submit, and cancel callbacks
- update example to compose the page from library components