test: extract storyFullsizeCached and add unit tests
Extract the cache-check logic from StoryViewer into a module-internal
free function storyFullsizeCached(_:in:) that accepts an injectable
ImagePipeline, making it testable without a SwiftUI view or shared state.
Add StoryImageCacheTests covering nil story, invalid URL, cache miss,
cache hit, and pipeline isolation. Also fix project.yml so the test
target uses stable PRODUCT_MODULE_NAME/PRODUCT_NAME settings and a
BUNDLE_NAME-aware TEST_HOST, which was previously broken.