Faviconographer asks Safari.app for a list of all visible tabs (and their positions) in the current window, and for the URLs of those tabs.
It then uses that information to fetch the corresponding icons from Safari’s Favicon cache (WebpageIcons.db), and draws them above the Safari window.
It’s a “hack” — the cleanest solution would be Apple implementing Favicons in Safari — but it works surprisingly well.
Note: Faviconographer does not “hack” your system. It does not inject code into other apps or manipulate system files. In fact, it doesn’t even require Administrator access!
I’ve gotten used to not having favicons in tabs, but I know a lot of people live by them.