f0764db721 added rename aliases for the
HTML and JSON options, which print a trace when evaluated:
trace: Obsolete option `HTML' is used. It was renamed to `html'.
trace: Obsolete option `JSON' is used. It was renamed to `json'.
These were correctly removed when introspecting enabled tools, however
they were not removed when constructing the "setup options" to serialise
as a lua table.
This required adding an internal `warnings` option to the submodule, and
filtering out the aliases and the `warnings` option when iterating over
the setup options.
The `defaultText` was conditional on default.
Specifically, `default.meta.platforms`.
This is not good, because it means the package must be evaluated in
order to build the docs.