Dataset updates run off EDT

Updated DefaultImageDisplay and DefaultDatasetView to call update()
methods off the EDT, as these classes are typically invoked on the EDT
and thus deadlock if a data update involves dispatching status updates.

To accommodate this, the SwingDisplayPanel now also checks for a null
projector before redrawing. This would indicate the computation has not
completed yet (and another event will be dispatched to trigger an
appropriate redraw at that time).