Replaced Bun's client bundler with Vite to fix code splitting issues.
Extracted React and Excalidraw into their own manual chunks to prevent
the monolithic 7MB index.js from blocking rendering. FCP decreased
significantly since browsers can now cache these chunks independently.