Add comprehensive test coverage for PerceptionCache:
- Test cache initialization (empty, from file, string path)
- Test Template and CacheResult dataclasses
- Test template matching with mock cv2
- Test confidence threshold behavior (below, at, above threshold)
- Test best template selection across multiple templates
- Test cache modification (add single/multiple templates)
- Test persistence (creates file, stores metadata, no images)
- Test loading (from file, empty file, empty images)
- Test crystallize_perception placeholder function
Fixes#1261