Good news: I succeeded with commenting out SDL code that deals with keyboard, and after that I was able to run pygame framebuffer graphics without root rights! But there is a small issue: there is a text cursor blanking at the bottom of the screen.
By the way, it turned out that /dev/console rights change mentioned in reply to the How do I let an SDL app (not running as root) use the console StackExchange post is not necessary, at least on Raspbian.
My next steps are to run pygame framebuffer graphics as a daemon. I will try using systemd as a daemon supervisor, because this is the default choice in Raspbian.