ui: replaced FocusMap with parent-child traversal in ui::Root.

ui::FocusMap: obliterated.

ui::Widget::Base:
	removed focus index property;
	added index-in-parent property;
	added parent assignment helpers;
	added and_visible flag to is_focusable().

ui::Root: replaced focus iteration with parent-child traversal.¹

1: Yay! It actually works now.
ui::ProtoSlotContainer: added reflow & render queues to actions.
ui::ProtoSlotContainer: added remove().