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.
Maybe all HTML controls do fire a change event. I just pointed a sentence in https://html.spec.whatwg.org/multipage/forms.html#common-input-element-events which may seem to leave the door open for not firing it, and I was wondering how it goes about the general rule... In any case `<select>` does fire it - it fires both "input" and "change" anytime the user clicks an option (but no event is fired when just navigating using arrow keys - only when validating with ENTER both events are fired).