rewrite api doc for FormWidget and FormValueWidget, fixes #18363

cc @AdrianVasiliu 

Hopefully this addresses all the points you brought up.  You can add some inline comments if you see places for further clarification.
> The trouble is that, according to the (new) doc, "FormValueWidget shouldn't be used for widgets that extend or embed native form elements (such as <select>), because in that case the change and input events are already emitted naturally by the browser".

The reason it says that is because you asked me to be more specific about / discuss the cases when to use FormWidget/FormValueWidget.   I didn't mean that ComboBox needs to extend FormWidget directly, but just that it didn't make sense for Select to extend FormValueWidget.

So, I will revert that addition to the doc, and just say something less specific like that FormValueWidget is for widgets that want to emit synthetic change/input events.