revert set:/del: merge, do not allow to miss key pruning
allow certain fields to have 'unset' state via 'required' attribute
ensure 'unset' fields cannot be added to data payload
generate ui tooltip when 'unset' field is created in a group or erased by user
ref. #2612
remove leftover manual template merge, idForContainer() should just use template-id data key
group add event now checks that instead, raising alert when number is greater than max
ref. #2610
* migrate to esbuild from terser, since now js source needs bundling
* (temporary?) hijack inline-source object handling to inline html files
* get rid of legacy removeIf comments in source in favour of explicit
removal either through bundling tree-shaking and / or manual module-*
class element removal w/ jsdom
* get rid of multi-layered custom checkboxes in favour of
`appearance: none` directly styling the `input` elem
also removes scripting part that was supposed to adjust for=... labels
* update to html-minifier-terser, up-to-date html-minifier fork
* update to iro.js 5.5.x, using npm to manage dependencies
* build script can now update resulting html output
(called after bundling stage, before minification)