Rename isOpen property to open with isOpen getter in ViFold.
Add ViFoldedAttributeName constant.

This will be used to annotate attributed strings to indicate
that a certain range of characters should be folded, meaning
hidden.
Add ViTypesetter and ViGlyphGenerator.

These will be used by the ViLayoutManager to implement
folding based on the ViFoldedAttributeName attribute being
set to @YES.
No-op ViTextStorage's fixAttachmentAttributeInRange: method.

This method usuallys trips the NSAttachmentAttributeName
attributes from characters that aren't the special Cocoa
NSAttachmentCharacter. In our case, we'll be annotating the
first character of a fold with the attachment attribute and
display an image in its place.
Add closeFoldAtLocation: to ViDocument.

This can be refactored to be a little nicer than it is now, but it
works reasonably well. Multiple lines are folded to a single
line with a given attachment image to indicate the fold.
Other characters in the fold are hidden.

The method returns the range of the closed fold. Note that
this is NOT the same as the range of characters annotated
by the folded attirbute, as the fold range only extends to the
first character of the last line of the fold, while the actual
folding extends to the last character of the last line of the
fold.

Note:
 - the current implementation folds across all text views
   currently viewing this document
 - we're currently using a placeholder image (the tag icon for
   the symbol list)
 - movement keys and actions still move within the fold, but
   currently don't cause the fold to expand
Add zc command mode action to close a fold.

zo and friends to come.