Critical bug fix to address OO(V)M

Critical bug fix that took two hours to debug. This bug is actually very
funny.
First the graphics system is like "Hey cache? Please give me cached
string X". Cache is like "Noooo. Don't have it. Go away".  Graphics: "Oh.
In that case, here please cache it!"  Cache: "oh. Actually, I do have this
thing! Well, I don't want to have 2 values mapped to one string so I'll
just return".

The Cache.get function always returned false causing the graphic system to
always re-create the texture in video ram. However, the Cache.put function
correctly identifies the fact that it already has a different texture
correspanding to that string, and thus returns. The texture thus falls
through the cracks.

Oh, and we also managed to evict a random value whenever we overflowed the
cache. But that's a different story :).