After struggling with how to implement some sort of user interface, I finally decided that all of the interaction could occur through Bubbles.
To do this the Bubble needs to be stretchy. Since the Speach Bubble that comes with the PlanetCute set has a vertical gradient It can only stretch horizontally. So I chopped it horizontally into three slices where you blit both ends and use the middle slice to do the fill. Then you draw your text and buttons!
This is good enough for the contest, plus the gradient does look pretty sweet! After PyWeek 6 is over I'll do a Bubble that will stretch in both directions.