string_input_popup: line editing via arrows, optional persistent history backbuffer * new arguments (str title, int width, str default, str description, str history_id, int maxwid * if unset, max_width = width, or 1024 if width is unset / 0 * ^U clears li