Ditto IPFS uploader and S3 uploader. I caved and decided to support both. The IPFS uploader uploads to a locally installed IPFS instance. The S3 uploader uploads to S3, DigitalOcean, etc. But even the S3 option has partial support for IPFS. In both cases media IDs are IPFS CIDs, and the media is made available at `/ipfs/<cid>` so the files can optionally be resolved through IPFS.