fbc81f88

By: Michael Lynch <git@mtlynch.io>

Delete captions by clearing them; custom delete dialog

Remove the separate "Delete caption" button. Saving a blank caption now
deletes it, so the dedicated DELETE /m/{id}/caption route and handler are
gone.

Replace the stock confirm() prompt on "Delete photo" with a custom native
<dialog>, intercepting htmx's htmx:confirm event the same way the
refactoring-english-feedback reference project does.

Add e2e coverage for owners editing/deleting a caption and deleting a
photo (through the custom dialog), and for a non-owner seeing no editing
controls. Update the unit tests for the removed route.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>