Tidy up Media models

Move asset specific stuff into the Asset classes

Also, display image with Audio if one available (and fall back to a default poster for Video if an image doesn't exist (just in case))
Ditto. Could use `.find` to get the first match instead of all that match.