Most trees don't have a branch length assigned to the root, so depths() was ignoring this value without a noticeable problem. But when root_at_midpoint() calls depths() on child clades, the leading branch length should be included, at it wasn't. Solution: include the root branch length in depths(). In root_at_midpoint(), adjust the calculation of 'remainder' for the root branch length since the root branch will not be traversed.
Take xmax from the calculated taxon positions, rather than matplotlib's first guess at the x-axis limits; base the margin calculations on that value, so that taxon labels are less likely to overflow the plot.
e.g. show 100.0 as "100", by default.
This reverts commit 6ab5e89.