[FEATURE] Implement a Form Component concept

This change adds a new concept: the Form Components - a fully OOP concept to build (Flux) forms. It also switches every ViewHelper over to the new concept and implements it throughout the inner API.

Contains breakage:

* `flux:flexform.grid.row` and `flux:flexform.grid.column` no longer support the `repeat` argument and therefore also the `iteration` argument.
  - Migration: use `f:for`, `v:iterator.loop` etc.
* `flux:flexform.select` no longer supports any type of database relation
  - Migration: use "group", "inline" or "relation" field - with "relation" being the closes match
* `flux:flexform.field.select`:
  - items now mandatory (not yet enforced)
  - commaSeparatedItems removed - since "items" is now mandatory, migration is required
  - all relational attribute controls removed - to be replaced by `flux:flexform.field.relation` or subclass hereof (fx "inline")
  - Migration: replace usages with specific implementations
* `flux:flexform.field.group` is completely gone - to be replaced by any of the `flux:flexform.field.file` or `flux:flexform.field.multiRelation` (not yet created) type fields depending on usage.
  - Migration: replace with specific implementation
* `flux:flexform.field.html` is completely gone; it was an alias of `flux:flexform.field.custom` which still exists.
  - Migration: 100% interchangeable with the `custom` field type
* `flux:flexform.field.hide` is completely gone; field output suppression is an integrator task.
  - Migration: none; integrators should modify TS for css_styled_content to get the same effect (static TS also usable)
* `flux:flexform.inline` argument `foreignTable` renamed to "table" to match other relation ViewHelpers
  - Migration: rename argument when encountered in templates
* all wizard's `title` attributes renamed to `label` for consistency
  - Migration: rename argument when encountered in templates