Force update the desktop
This tries to force the desktop to be refreshed if more than one second has elapsed since the last update request.
If there is a wayward program that is constantly writing to the desktop-
First try and keep up and try to read normally and get a complete read.
After 500 ms timeout, if there is more than a second elapsed since the read process started, try and force update the desktop by-
a. Force a reading and returning a filelist even if the desktop is updated at the end of a read or durning the read.
b. Drawing a desktop with whatever filelist was returned.
c. Continue try to get a complete read and keep up in the loop.
d. Repeat step a. if more than a second since last desktop draw.
I think a refresh frequency of around 60 times a minute should be sufficient to minimize resource use and frequent desktop icon changes that can appear as blinking.
Added a commit to stop crashing in setting drop-cooridiantes if a file is deleted before the desktop is drawn with force refresh.