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))
Actually `.exists` would be better here.