I think edits can be facilitated entirely within the client. When people post a note or a replay, the client could delay broadcasting for a period of time (60-90sec), during which time the note is essentially a draft that can be edited. Once the time limit is up, the posted note including any potential edits are broadcast. This removes any necessary work within the protocol, or programming of the relays as it's all done within the client. And each client would be able to choose whether to support the feature, while edits would automatically be seen network wide.