QBase: look for .qwidget() methods, accept arbitrary objects, __call__
fixed Logger.append() (scroll variable handling)
tools: extra **props args