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.
OK... but first, I'm confused about your statement:

>  it doesn't say that widget's valueNode needs to support a readOnly property/attribute

The valueNode is an `<input>`, so naturally it has a readonly property, in addition to a value property and disabled property.   If anything, it seems like I should be documenting what valueNode is?