picklist render "rate on a scale of ... "

Has anyone built a picklist renderer that displays the options horizontally instead of in a vertical dropdown?

I’m thinking something like that would be useful for feedback forms with questions like "Please rate your overall satisfaction on a scale of 1 to 7."

And the user sees something like this:

(poor)  1  2  3  4  5  6  7  (excellent)
With the ability to click on a number (perhaps displaying a circle around the selected number?)

Perhaps this is more of a custom component situation than a field renderer.

Regardless, has anyone implemented anything of the sort?