added more device detection tests; improved/added some detections
cache parsed yml files to improve performace