[Example Request]: How to handle asset uploads that aren't media
### What's the example?

We're looking into ways that we can support sharing files on a shared canvas. For example, someone could drag a PDF on to the canvas, we would upload that file and provide a shape to preview and download it.

I understand we should be using an asset store to catch these files, which would trigger uploads for images and videos, but it's not clear how we would extend this to support other types of files.

I have tried re-implementing [`registerExternalContentHandler`](https://github.com/tldraw/tldraw/blob/80294e641ad673cd53fc946176ef89d459663a67/packages/tldraw/src/lib/defaultExternalContentHandlers.ts#L226) and [`registerExternalAssetHandler`](https://github.com/tldraw/tldraw/blob/80294e641ad673cd53fc946176ef89d459663a67/packages/tldraw/src/lib/defaultExternalContentHandlers.ts#L67) to allow these different types, but looks like there's checks in place to limit assets to `image`, `video` or `bookmark` types and I feel like I'm going about it the wrong way. 

The [PDF Editor](https://tldraw.dev/examples/use-cases/pdf-editor) example is close to what we'd need in the long run, but that example appears to create image assets/shapes from the PDF on the fly. We would need to upload the file and provide a link for other users to download it alongside something like that. 

### Code of Conduct

- [x] I agree to follow this project's Code of Conduct