Put notifier updates on the Display Thread

Also corrects initialize semantics change in compiler settings upon
background change
Only correct a cross-compiled classpath Once
DO NOT trigger a classpath check at the end of setDesiredXXX

- the listener will pick up soon enough on that
- also, better error messages w/projcet name

Also, more informative error markers.
Only launch project's preferences when noticing something wrong with the classpath