chore: scaffold Bun + TypeScript + ESLint + Prettier toolchain
Establish the toolchain the rest of the library is built on: Bun as the
runtime and test runner, strict TypeScript, ESLint, and Prettier.
tsconfig turns on strict checking with exactOptionalPropertyTypes, so
optional fields must be modeled explicitly as `T | undefined`, and sets
`types: ["bun"]` because TS 6 no longer pulls @types/* in transitively —
without it bun:test, Bun, Buffer, and node:* globals fail to resolve.