the patch is simple and looks good. I was wondering if we could do better though.
Especially with land parcerls or building it is easy to visually determine a sort of "right rotation" that the label should have to "align" with the polygon, and such angle is along the longest side of the minimum bounding rectangle (which does not normally have sides parallel to the axis). See here: http://softsurfer.com/Archive/algorithm_0107/algorithm_0107.htm#Minimal
There are known algorithms to compute such rectangle.
What do you think? :-)