0fa5db13

By: Michael Lynch <git@mtlynch.io>

Move the video transcode worker behind a single interface

The durable background transcoding work added seven video-only fields to
handlers.Server (the nudge channel, worker ctx/cancel, stop/done channels,
and shutdownOnce) plus an originals directory. Extract that worker into a
new videoqueue package and have Server depend on it through one VideoQueue
interface field, dropping Server's added dependency fields from eight to two.

videoqueue.Worker owns the queue and its lifecycle; its owner (main, tests)
starts and shuts it down. handlers defines the VideoQueue interface and never
imports videoqueue, so there is no cycle. MediaProcessor narrows to the photo
methods, since the video methods now live on videoqueue.Transcoder.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
configuredevShellbackendbackend-devcheck-bashcheck-frontendcheck-go-formattingcheck-go-test-packagescheck-trailing-newlinecheck-trailing-whitespacediagrame2e-testsgo-testsimport-from-tinybeanslint-sqllittle-momentslittle-moments-devx86_64-linux