Bugfix for deleting displays that are accessed from multiple threads
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.

ros-visualization/rviz,ros-visualization/rviz,ros-visualization/rviz,ros-visualization/rviz,ros-visualization/rviz