Refinements to handling of ps fields overflowing under one another's headers

Previously I'd allowed that a (numeric) field might over-spill leftwards to under the previous heading but
* hadn't handled the implications that has for the next field leftwards; and
* hadn't allowed for a field over-spilling rightwards to under the next heading

I've seen both kinds of overflow in Linux's ps.
These commits address those issues.

Haha, that's some severely insane column violations. The fact that ps can just cheerfully do this is crazy!