Remove HTML helpers with `IDictionary<string, object>` parameters

- see line 2 of #874
- focus on `TextBox[For]()` and `ValidationSummary()`

related fixes included here:
- `TextArea[For]()` documentation incorrectly indicated their `htmlAttributes` parameters were dictionaries
- handle `htmlAttributes` parameters more consistently; create a dictionary only when necessary

reviewers: PR #929 is more urgent if you haven't already looked at that one
`AnonymousObjectToHtmlAttributes` seems to have similar behavior. Is the extra level of indirection here to avoid creating extra unused dictionaries?