Because the "clear" buttons are very different between themes (in
the Modern theme they have a graphical symbol, while in the Classic
theme they have a letter), they have to be removed and re-added
when reflowing the layout. This is patterned after how the
LauncherDialog class handles the larger changes in layout.
Removing widgets from a tab turned out to be trickier than I first
thought, so I had to move the removeWidget() method from Dialog to
GuiObject.
This properly initializes _x, _y, _w and _h, which might be used
uninitialized otherwise. This probably lead to a creash for _sev,
when drawing the tab widget, before GuiObject::reflowLayout had
been called. FYI GuiObject::reflowLayout is usually only called
on layout changes (i.e. resolution changes etc.), thus it might
not be called before drawing a newly created widget.
svn-id: r46947