catch unhandled exceptions

and create a proper crash report.

This fix takes care of unhandled exceptions in background threads
The former solution (try catch around UI.Run) did only take care of
unhandled exceptions in the main / UI thread.