Simplified class hierarchy for pretty printing.

- Updated design notes
- Replaced recursive PrettyUtils.display() method with an iterative
  version.