Replaced the memleaking LocalFileChooserDialog id with a static counter
Removing the "close" signal since it's interrupted by my run function anyway
Now managing destroying and signalling destroys properly whether destroyed from the WM, from the client while running or from the client after running
Updating the example app with a button to test manual destroying