Add option to use custom QSettings for QgsCollapsibleGroupBox

- Useful for plugins that may want to store collapsed state in their own QSettings file

This was in response to an inquiry from Alex about whether a custom QSettings could be used to save the collapsed state.

Alex, could you test this to see if it works for your Python (or maybe it's C++) project?

Note the convenience function for setting the QSettings pointer if the group box was already created via including a .ui in C++; otherwise, you should be able to specify the pointer to a custom QSettings object on construction of the group box in code in either C++ or Python.