feat(repo-appearance): add icon and color tint to canvas card title bar
- CanvasCardView gains optional `repositoryIcon`, `repositoryColor`,
`repositoryRootURL` parameters. The icon renders before the repo
name at 12pt, tinted via the shared RepositoryIconImage rules.
- The repo color overlays the existing `.bar` material in the title
bar background — above `.bar` rather than below — so the always-on
identity strip is visible despite the bar's 0.9 opacity. Existing
notification orange and selected-unfocused accent layers are
unchanged, preserving today's look for repos with no appearance.
- CanvasView reads `@Shared(.repositoryAppearances)` and resolves each
card's repo via `PathPolicy.normalizePath` against the worktree's
repositoryRootURL, then forwards the lookup to CanvasCardView. Cards
for repos without an appearance entry render exactly as before.
- Focused cards get a slightly stronger tint (0.18 vs 0.10 alpha) so
the active card's identity reads even more clearly.