Add FeatureDetector caching.

Implements #36 
Grrr... I meant too... don't know what happened... here is an example of a need for static type-checking  (duck or otherwise).