sampler: make size of cache in sampler base class adaptive

Implement an adaptive caching policy; that meets the needs of affine
transformations. Running averages are kept of x/y deltas as well as the
magnitudes of the deltas of coordinates leading to cache misses.

The initial rectangle used is a small one; subsequent rectangles have extents
up to 64 pixels wide/tall; when tracked deltas are more diagonal than axis
aligned smaller more square regions are tracked.