Set up tsconfig.json (declaration: true, DOM lib), package.json with
main/types/files pointing at dist, and .gitignore for node_modules/dist
so the library can be consumed with type declarations.
Make createColumnsFromType, setHeaderRow and createPopulatedRow protected
to shrink the public surface, and add @remarks warning that an HTMLElement
cell value must be a unique node per row. Also fix doc typos.
Rename the Header type to Column and update all references: the columns
field, the createColumnsFromType method, and the per-column loop
variables, so the naming reflects that each object describes a column.
Introduce an exported TableOptions<TRow> type and replace the trailing
positional constructor parameters (displayNamesAndOrder, messageElement,
trueSymbol, falseSymbol) with a single optional options object, so call
sites are order-independent and named.
Drop the loadCSS method and its constructor call. Styling is now the
consumer's responsibility via the emitted class names, keeping the
class self-contained and free of app-specific asset paths.