Move `final_url` from Port to Screenshot

This duplicates some view code between ports and screenshots.
The port view indexes on ports and shows the first screenshot,
but the screenshot view shows every screenshot.
Allow choosing distinct/not for screenshots

Perhaps there's better UI possible. We sort the screenshots by hash
when showing all, so identical ones appear next to each other.

Could be nice to have a collapsed view with one row per distinct
screenshot, but which shows all the ports that lead there.