fine tuning in ux api primitives + rough cut of draw_text_box()