Thumb: use Media object in Thumb::destination

Making `Thumb::destination` a `Media` object from the get go allows to extend the class more easily — by delegating the `exists` check to the `Thumb::destination` object instead of hard-writing it

(I'm trying to implement CloudFront CDN for images)