The font I’m not sure about–it might be possible, but if so, it may involve digging into the components of the button and manually assigning their fonts. I’m not sure.
The background image, however, is fairly straightforward: Just pass in a list of images, one per state. The states and their order should be the same as those given for passing in multiple geoms, as shown in the page that you linked to.
(That is, in the example on that page just replace “geom=” with “image=”, and the various alls to “maps.find” with the paths to your various images, I believe.)
The simplest, but least convenient approach, is to manually position them via the “pos” keyword-parameter.
However, to have them automatically keep their positions relative to each other, you could parent one below the other. (Taking care to not duplicate scales in the child-widgets, as the scales will compound.) This, combined with simpler use of the “pos” keyword-parameter, should allow you to place one button relative to the other–and to have it keep that relative position even if the other is moved.