app, tools: add backtrace GUI for crashes as well.
This was a bit harder since even though we handle fatal signals, allowing us to do any last action before GIMP crashes, it seems more memory allocation is not allowed at this time. So creating a dialog or simply getting the return output of gdb into the main process is not allowed. What I do instead is running a separate program (gimpdebug) which will take care of creating the new dialog and running a debugger. I still use GimpCriticalDialog code from this separate binary, while I continue to use this widget also within GIMP for non-fatal errors. The reason why we still want to use it within GIMP is that we can bundle several non-fatal errors and backtrace this way (fatal errors don't return anyway) and it's easier to do so when created from the main process.
Showing with 251 additions and 43 deletions