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.
(Question) `handleOnChange()` and `handleOnInput()`? Or `handleOnChange()` **and/or** `handleOnInput()`?
For instance, https://github.com/ibm-js/deliteful/blob/0.4.0/StarRating.js only calls the first, not the later. Is there a contract that both should be called?