Happy to submit a pull-request for this. I'm about to do this myself, but i thought it might be useful to consider for the project as a whole.
Some quick UX (at the very least in terms of familiarity) could be:
- Login with username or password (like twitter)

- Editable username in account settings (could be toggled by a setting)

- Sign-in-after-confirming-email flow (could be done using the session to avoid some of the potential security pitfalls)