I used the utils.get_text_style, but I didn't find that it cleared up my code all that much, do you think we should pass the xlabel, ylabel, and title text objects to the renderer as well? Here's a code snippet of what I'm doing now:

if props['xlabel'] not in [None, 'None', 'none', '']:
    xlabel = [child for child in ax.xaxis.get_children()
                  if isinstance(child, matplotlib.text.Text) and child.get_text() == props['xlabel']][0]
    style = utils.get_text_style(xlabel)
    titlefont = {'size': style['fontsize'], 'color': style['color']}
    layout['xaxis{}'.format(self.axis_ct)]['titlefont'] = titlefont

It uses a pretty ugly list comprehension which requires having a reference to matplotlib. Passable?