First commit for general use cache file
Tweaked Cache's use of C++ features
Merge branch 'master' into bestdev
Moved caches to correct locaiton.
Added LRUCache to strings.

Remaining: add an option to do either
*no kerning [ignores caching, uses char copies]
*kerning, caching on: caching, cheap copy, has kerning.
*kerning, no cache: for strings that change often [clock for example]
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 :).
Removed descriptable.hpp from VS project
Merge branch 'master' into bestdev
Partial revert from commit ca71ec52
Reindented files and fixed annoying standard compliance issue