chore: Migrate from Prettier to oxfmt (#11392)
## Summary
- Replace Prettier with oxfmt for code formatting (following the ESLint
→ oxlint migration)
- Run oxfmt from root instead of per-package for simpler configuration
- Configure oxfmt to match Prettier v2 defaults (`printWidth: 80`,
`trailingComma: "es5"`)
## Changes
### Configuration
- Add `.oxfmtrc.jsonc` with Prettier v2-compatible settings
- Remove `.prettierrc`
- Update `.prettierignore` to exclude `examples/`, `turborepo-tests/`,
and `crates/`
- Update `turbo.json` to use `//#lint:format` as a root-only task
- Update `lint-staged` to use oxfmt
### Formatting differences
oxfmt has some minor formatting differences from Prettier v2:
- MDX files: single quotes → double quotes (oxfmt doesn't support
per-file overrides yet)
- Markdown: slightly different blank line handling in lists
- JSX: different parentheses handling in function arguments
- JSON: single-element arrays collapsed to one line
## Test Plan
```bash
pnpm install
turbo lint # All tasks pass
```