A source control tool such as git or mercurial will solve this. Any collaborator who uses vi should have no issues with a git/hg workflow for managing changes.
The underlying data model, though—passing around diffs and comments, tweaking sets of modifications before applying them—is the same. You could put together a decent editing workflow around git (although maybe the UI would need to be different from what we use for code). Version control is editing, is my point.