Remove unused code from add_display_dialog.cpp
Bugfix for deleting displays that are accessed from multiple threads

Some displays are accessed by multiple threads and emit signals that
contain pointers to themselves.  For example, PointCloudCommon makes a
Display emit a signal with a pointer to itself from a non-GUI thread.
TimePanel has a slot for this signal, and uses the referenced Display.  If
this emission happens when the GUI thread is destroying the object, then
the slot can receive a pointer to a freed display.  The fix is to
disconnect everything connected to the display before deleting it.
Tweak UI for adding display by topic

- Change blank topic suffix in combo boxes to "raw"
- Only expand first 3 levels of tree
- Have topic column width be stretchable and combo box column width be max
  length of contents.