Add `canvas-validate-component-trees` Drupal CLI command to check health of Canvas component trees: validate every Canvas (content|config) entity, validate every content entity component tree field revision+translation
Title says it all.
Context: Acquia Source has adopted Canvas long before it had a stable data model, and hence long before Canvas provided update paths. This has proven to cause seemingly random bugs during deployment, but time and time again the root cause has been data created _before_ Canvas provided update paths. This has been a time-consuming and costly affair (e.g. #3578865, #3579086).
Canvas has invested _heavily_ into thorough validation to spot data integrity problems, to be able to guarantee that "if it passes validation, it will work [render + be editable with good UX]".
## Proposal
⇒ We should make that validation infrastructure available to monitoring/auditing/site health checks too.
Drupal 11.4 will ship the `dr` CLI: https://www.drupal.org/node/3584928. Let's make Canvas leverage _that_.
(As soon as Drupal 11.4 is out, core drops support for 11.2. That means Canvas will be able to require 11.3, not 11.4. But it's reasonable to provide this command only for 11.4, because it's forward-looking and maintenance-reducing.)
Outline of what it should do
1. prints crucial Canvas module info: the installed version, the current schema it is at, and all post-update functions that have been applied
2. calls all relevant `CanvasConfigUpdater::needs*` methods to determine whether all Canvas config entities have indeed been updated (they might not have a post-update applied if config sync happened AFTER post-updates ran)
3. iterates over all Canvas config entities (`AssetLibrary`, `BrandKit`, `Component`, `ContentTemplate`, `Folder`, `JavaScriptComponent`, `PageRegion`, `Pattern`) and validates all of them + prints the validation errors
4. iterates over all Canvas content entities (`Page`) and validates all their default revisions (and all translations in those revisions) + prints validation errors
5. same as 4, but now for _all_ revisions, not just the default
6. :grey_exclamation: Not necessary until Canvas again allows creating `component_tree` fields on other entity types such as `Node`s: ~same as 4+5, but now for all Canvas fields on any content entity type~
issue