Add an indent object.

An indent object simplifies how we calculate when an object can be
placed on a line.
Revert "Add an indent object."

This reverts commit d39515f7652f291f33478578381abb921770bf13.
Add an 'indent' object.

This actually simplifies a lot of bookkeeping. We don't have to pass
around how much of the line we have left. It can be calculated from the
fact that we have the indentation available.