Make ctkSettings{Dialog,Panel} usable via PythonQt

This makes various tweaks (mostly additional ``Q_INVOKABLE``, ``Q_PROPERTY``) to ctkSettingsDialog and ctkSettingsPanel, in order to make them more usable from [PythonQt](http://pythonqt.sourceforge.net/). (Specifically, the goal is to allow a Slicer Python module to create and register a settings panel without needing to write any C++ code.)