Sends the new name to PATCH /api/users/:key/username, and resolves to
the name the server kept. A refusal rejects with its message, which the
field shows.
Type
(username: string) => Promise<string>
Usage
import { type UsernameFieldProps } from "src/components/profile/UsernameField.tsx";