Load public preview via JS

Backport of https://github.com/owncloud/core/pull/11368 to stable6 - since stable6 has no detection for SVG support this will just use the PNG icon instead of SVG ones.

I believe this is a better solution than backporting the whole SVG support stuff and potentially breaking a lot.
It seems this needs to be added back.

@LukasReschke there needs to be a value for margin-top, even if it’s just 0. Cause it seems at another point there is margin applied which might lead to the big whitespace.