Implement a simple image abstration and cache

Squashed from WIP/image-cache
Don't hardcode window height/width in cityview

Now we query the current window size, you can change the default size in
the settings.cfg and restarting