This looks nice (I actually have something similar in my
`mode-line-format` already), but I think that modifying
`mode-line-format` when project.el is loaded is a bit problematic.
Perhaps a better alternative would be to define a variable that holds
this mode-line construct, along with an autoloaded function that people
can call from their init files to actually add this construct to
`mode-line-format`. WDYT?
In bug#63469 I implemented 'project-mode' with the buffer-local
variable 'project-name'. But due to objections I rewrote this
to simpler and direct implementation. I could revive the previous
patch now.