Merging in new passes

Adding passes for
- computeMargins calculates the minimum margins required around an element (above, below, or left+right on first, last, or mid lines)
- computeMinDimensions is the new name for the local margin-based minimum dimension calculation.
- computeDimensions now enforces "stick to top" or "stick to bottom" of line flags.
- computeBoundingBoxX and Y are now done separately, so that a "glue" pass can happen between them.
- computeGlue now adds space for extra horizontal pipes to make multiline things contiguous if needed.

Also, text margins are reduced and some debugging is added.