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))
Could use `.find` to get the first matching Audio instead of all that match.