video library: add the possibility to clean the database in the background

This is a less intrusive approach to being able to run video library cleaning in the background than #5701. Furthermore it keeps the possibility to run it in-thread (and showing the modal dialog with the cancel button). and it doesn't affect the behaviour of library scanning if `cleanonupdate` is defined.

The result is that if the library cleaning is user initiated it will always show the modal dialog and if it's not user initiated it won't show any progress at all (unless it's part of library scanning with `cleanonupdate`). Another possibility would be to keep user initiated behaviour the same but always show the kai toast progress bar if it's not user initiated.

I'll try to look into the music library cleaning if we can do the same there.
E.g this is always NULL. Why add this extra functionality?