feat(web): add ProjectList view
Implements Phase 4d Task 3. Creates ProjectList.svelte to display all registered projects in a table with clickable project names that navigate to ProjectDetail. Shows project path in monospace and registration date in human-readable format. Handles loading, error, and empty states. Updates App.svelte to use ProjectList for project-list route instead of placeholder.