- add SelectItem model with labels and descriptions
- support filtering, wrap-around, scroll info, and selection change
- demonstrate select list filtering in Example
- compose visible overlays into rendered lines
- add runtime APIs for showing and hiding overlays
- restore focus when overlays close
- add help overlay example
- 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