preferences: Implement a "combo" advanced preferences entry type

Usage example:

    [advanced_preference]
        field=test_combo
        name= _ "Combo test"
        type=combo
        default=option1
        [option]
            id=option1
            name= _ "Option #1"
        [/option]
        [option]
            id=option2
            name= _ "Option #2"
        [/option]
        [option]
            id=option3
            name= _ "Option #3"
        [/option]
    [/advanced_preference]

NOTE:

Now that there are more than two types of advanced preferences entries,
a problem with the saving and restoring of the previous screen surface
contents with the three GUI1 widgets involved (the checkbox, the combo,
and the slider) has appeared, resulting in the advanced preferences
slider glitching into view under certain conditions. This is apparently
related to the widget hiding/unhiding order; for example,
hiding/unhiding the advanced preferences combobox after the slider and
its label results in the combobox glitching into view when switching the
advanced preferences list selection instead.