MKMapSnapshotter subclass with built in caching