Added dynamic sunrise/sunset calculations
This isn't perfect and there's probably some edge cases but it looks cool. Coupled it with my other patch for now:

I merged the other patch with -when, so this won't merge cleanly as is.
It's nice that you made tzcoords and the output looks nice even if a little bit useless if you really need to work with the South Pole... ⛄😄 That's why sunrise/sunset times are more social guides than real astrological times, so far.
The trouble, as often, would be to keep everything updated as now tz updates would also depend on tzcoords updates instead of relying on the host's own database (or even golang's own copy). There's maybe an opportunity to copy the tzcoords lib here ; as the proverb goes a little copying is better than a little dependency . This could help other issues too: for instance, we are looking for a way to list/suggest TZ names to users.
I hope you don't mind the long text. I'm kind of writing out ideas as they appeared.
tzcoords is MIT licensed, so it's fair game to reuse any part of it.
In this PR, there's a few corner cases that may also not be covered:
- locations where the sunset falls before the sunrise within a day. See the map at https://en.wikipedia.org/wiki/Time_in_Antarctica for possible examples
- locations+days where the sun never rises or sets. I have not checked what happens.
With a bit more hindsight, I'd rather not have tz show the astrological sunrise/sunset times all the time. While using it, I'm often looking for times that are inside "work hours" and fit everyone's schedule. The current color scheme works pretty well in that case, and I'd rather not remove that. 🤔
I definitely like the feature though. If you can make that a flag, I can look into merging it. Otherwise, I'll try to find time on my own some day to reuse the code here. 🔮