Add FeatureDetector caching.

Implements #36 
Considering the name is only unique to the haar file used and not the arguments (such as the scale factor or minimum neighbours), we should be storing the combination based on a different key.