fix: include gallery title and dedup location in Bluesky cross-post
The gallery create page was calling createBskyPost without a title, so
every cross-posted gallery appeared on Bluesky without its title. Pass
title alongside description.
Also mirror the native app's location dedup: when Nominatim returns a
formatted fallback name ("New York, New York, United States"), the old
logic appended region and country on top, producing "New York, New York,
United States, New York, US". Now we take the first comma-separated
chunk as the primary label and append locality/region/country while
skipping case-insensitive adjacent duplicates — preserving POI context
("Blue Bottle Coffee, Oakland, California, US") while collapsing
city-fallback redundancy ("New York, US").
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>