Watch changes in .desktop files so that adding new items, modifying existing items and removing items works as expected

Fixes:
- .desktop files were read before the contents were there (and never read again), so items were missing
- launcher didn't react to changes in the files