This diff
1. Moves the AddSetting calls from the child classes to the base class. Benefits:
a) reduces the code by few lines (minimization)
b) Makes it so that `AddSetting` is in the same class as `GetSetting` (defragmentation)
c) Might allow in the future to make settings members (D2313, see discussion with Vladislav on http://irclogs.wildfiregames.com/2019-09/2019-09-20-QuakeNet-%230ad-dev.log)
2. Moves the `ChooseColor()` function from `IGUIButtonBehavior` to `CButton`, since it is only used by this class following rP14476 (refs rP22952 / D2314).
If the function was to be considered a part of `IGUIButtonBehavior`, then the `AddSetting` calls to `textcolor`, `textcolor_disabled`, `textcolor_pressed`, `textcolor_over` should also be in this class (see argument for 1).
So also the comment `// Yes, the object must possess these settings. They are standard`.
Notice that CDropdown mirrors part of the IGUIButtonBehavior and excludes other parts thereof, which makes it particularly less confusing if there are less AddSetting calls.