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.
Absolute CSS noob here - I don't even know the difference between margin and padding etc ;-) - Let me try it … ;-)