use PartDatabase to look up thumbnails async

Prevent excessive resource contention from generating two thumbnails for the same piece of media when sending/receiving into an open conversation.
We don't (and will never) use interrupts, this should assert.