Canvas breaks uploading files with spaces for the whole site

Problem

Canvas customizes file-uri validation for its shape matching, as discussed in #3577155. For that, it adds an URI-constraint on file uris of all file fields. This constraints fails to validate for file names that contain spaces.

Result: For every file field on the site (also unrelated the canvas) file uploads stop accepting files containing spaces in the filename.

The error is simply "This value should be a valid URI."

Suggested fix

the canvas URI-constraint-validator treats file-URIs as regular RFC 3986 URIs, but they are not. Special case them.