feat(consent): allow HTML in the title and consents without a text page
The title is shown next to the checkbox and may now carry inline HTML with links, so it is sanitized on output with an inline-only allowlist and shown as plain text in page titles, breadcrumbs and admin tables. The text field became optional: a consent without text has no page of its own (/consent/{id} returns 404) and the form renders the title with its own links instead of linking to the text.
Forms now get FormConsentDTO from ConsentService and render the shared system::app/consent-checkbox partial. The consents.title column is widened to TEXT; existing installations are updated with install/update_consent_title.php.
Forms now get FormConsentDTO from ConsentService and render the shared system::app/consent-checkbox partial. The consents.title column is widened to TEXT; existing installations are updated with install/update_consent_title.php.