fix websocket error message
(wip) DOM restructuring

new system where all commands are members of a groupwidget, groupwidgets
can be members of other groupwidget's <div class=children> or of a <div
class=rootwidget>. the rootwidgets always reside directly in the <div
id=cmds>.
log newcmdcallback timeout to devconsole
prevent multiple cli._prepareCmd calls