fix: #3591133 strip draft-04 'id' keyword before sending schema to AJV v8
stripNonStandardJsonSchemaKeys() strips non-standard keys before the schema is sent to the browser. It already handles meta:enum and x-translation-context, but was missing id.
When PHP resolves a $ref URI via justinrainbow/json-schema, UriRetriever::retrieve() injects id: on the resolved schema object (draft-04 JSON Schema behavior). AJV v8 — introduced in Canvas 1.4.x — does not support the draft-04 id keyword and throws:
Uncaught Error: NOT SUPPORTED: keyword "id", use "$id" for schema ID
This crashes all Canvas component forms on any page that contains a component whose schema was resolved from a $ref URI, including Canvas's own image and video well-known shapes (which internally reference json-schema-definitions://canvas.module/image-uri).
Note that PropShape::normalizePropSchema() already strips id and even has a comment explaining why. This fix applies the same logic to stripNonStandardJsonSchemaKeys().
Change: add 'id' to $keys_to_remove in stripNonStandardJsonSchemaKeys().