libgimp: improve handling of procedure default values a lot
Add internal GimpProcedureConfig API to load/save "default values" which are to be treated as if they were the hardcoded GParamSpec defaults, but user-configurable. Also make all other load/save functions available to other libgimp files. In gimp_procedure_run(), if incomplete arguments are passed, don't just complete them with the GParamSpec defaults, but look up the user-saved defaults and use them if they exist. This happens before everything else and brings back the PNG export feature of using user-saved defaults also in non-interactive mode (but for all procedures not just PNG export). In GimpProcedureDialog, add "Load Defaults" and "Save Defaults" buttons, they are the only way of managing the user-configurable procedure defaults. When clicking "Reset", show a popover with the reset options "Initial Values" and "Factory Defaults".
Showing with 303 additions and 77 deletions