Add FeatureDetector caching.

Implements #36