feat(repo-appearance): accept any image format the system can render
Previously the importer enforced a PNG/SVG whitelist and threw
`RepositoryIconAssetStoreError.unsupportedExtension` for everything
else. The whitelist was redundant — the file picker already filters
to image UTTypes, and a corrupt or unrenderable file falls back to
the dashed-questionmark placeholder via `RepositoryIconImage`. Drop
the gate so JPG / WebP / HEIC / GIF / TIFF / BMP / etc. all work
without any extra plumbing.
- Remove `RepositoryIconAssetStoreError` and the extension whitelist
in the live store. Files with no extension fall back to a generic
`.img` suffix on the destination filename so the round-trip still
works.
- Reducer's import effect collapses to a single `catch error in`
branch using `error.localizedDescription`; the dedicated
`errorMessage(for:)` helper is gone.
- Picker's `fileImporter` widens from `[.png, .svg]` to
`[.image, .svg]`. SVG stays explicit because UTType conformance
for SVG-as-`.image` has been spotty across older OS revisions —
redundant on macOS 26+ but cheap insurance.
- `isTintable` logic unchanged — only `.svg` filenames get the
template-tint branch; bitmaps render with their own colors. Help
text generalized: "PNG icons" → "Bitmap icons", picker subtitle
same.
- Tests: drop `importImageRejectsUnsupportedExtension` (no longer
applicable) and `importFailureSurfacesErrorMessage` (covered by
the generic error path test). Add coverage for jpg/jpeg/webp/heic/
gif/tiff/bmp acceptance and for files with no extension.