ImageCache fix for when searchpath is changed.

(This comes from Thiago Ize, I'm just posting the pull request on his behalf.)

If textures aren't found in the searchpath (thus making "broken" records
for those files), then the searchpath is changed to include the directory
where they really were stored, the filenames were never updated.

The solution is to make invalidate() clear the searchpath-augmented
filename so that any altered searchpath is re-applied next time the file
is re-opened.