Clean up how the usage messages are printed

This also fixes an OOM issue when trying to print the usage message
on a terminal that doesn't report its width.
3 files changed