added special DeviceDetectorCache class used for caching DeviceDetector. This cache combines file and static caching to speed up detections as much as possible