settings: a setting should be disabled if its parent setting is disabled

This adds some logic to the settings system to automatically disable all child settings if the parent setting is disabled. IMO having an enabled child setting if the parent setting is disabled doesn't make much sense and would look odd.