Add a shared helper that builds the thumbnails relationship from a resource's
info, gated on thumbnail.HasPreview so audio without embedded cover art no
longer advertises a preview that fails to render. Reported dimensions are
aspect-correct (fit into the box) rather than square, with a source thumbnail
carrying the native dimensions (audio cover from oc.preview, images from the
image facet). Wired into the drive children listings on $expand=thumbnails.