texture-cache: Remove also scaled keys from the cache

We're storing in the texture cache images and scaled images appending
the scaling factor to the key. When a file changes the cache key
corresponding to that file is removed, but not the keys for the scaled
ones so that images in the cache are never reloaded.

This patch removes all keys from the cache related to the file that
changes, including those with the scaling factor.

A new hash table was added to keep track of the cached files scales, so
for a file stored with the key "KEY" we store in the new cache the
scales of this file that we've in the cache:

 * KEY -> [1.000000, 2.000000, ...]

When the KEY is removed from the cache, we can look now in this new hash
table and for each scale we also remove the key "KEY1.000000",
"KEY2.000000", etc.

GNOME/gnome-shell!567
4 jobs for !567 with fix-texture-cache-clean in 11 minutes and 34 seconds (queued for 1 second)
latest detached
Status Job ID Name Coverage
  Review
passed #316915
check_commit_log

00:00:32

 
  Build
passed #316916
build

00:07:27

 
  Test
passed #316917
test

00:03:34

passed #316918
test-pot

00:03:33