txt::Cursor: corrected col_recalc() for singular nodes.. gah.¹

1: Tip: compile and test before committing.
ui::Widget::Base::queue_actions(): elide flag_noclear in current also.¹

1: Oooooooops. First: user can of course queue a clearing render on top
of an already-queued non-clearing render (=> elide after combining).
Second: mask_ua wasn't being cleared before ORing into the state store,
meaning any elision wasn't actually taking place (=> use mask_ua for
the remove mask, duh).
ui: added focus_changed event and flag_noclear to the resultant action queue.¹

1: Emitted immediately by ui::Widget::Base::set_focused(). Default
behavior if !handle_event() is to queue a non-clearing render. This
used to queue a clearing render, but a focus change generally should
not require a complete clear of the widget area.