Use svg mimeicons for empty text files

This adds a system where the preview system can be queried if a preview is available based on more then just the mimetype. This is useful for backends that can't always generate a proper preview for all files or the supported mimetypes (the text backend for empty text files)

Fix for #10049 

cc @georgehrke @MorrisJobke @DeepDiver1975