settings-widget: use G_DEFINE_TYPE_WITH_PRIVATE