Fix blank page on first load via `ccw view` by waiting for zustand persist
hydration to complete before initializing workspace.
- Add _hasHydrated state tracking in workflowStore
- Add setHasHydrated action to mark hydration complete
- Update AppShell to wait for hydration before calling switchWorkspace
- Ensures projectPath is properly restored from localStorage before queries execute