Geo-caching, round 1. Performance no where near where I'd hoped.

Will look for further optimizations, or perhaps try a GD based compositing solution.