Unify Python 2 and Python 3 output

This is subtle: Python 2 treats / as integer division (i.e. rounds
down).  Python 3 treats it as float division always.  This produces
subtly-different text positions in some cases.  It's hard to see
visually, but PDF comparison tools notice.

By using a __future__ import I avoid future problems like this creeping
back in.

If rounding down is actually desired somewhere, I can use the //
operator.