Add zo action to open a fold.

This requires you to be within the fold range; the fold
character should be within that range, but currently isn't.
Since movement doesn't jump over the fold yet, you can just
move into the fold and apply zo to see it work.
Rename close_folds_in_range: to close_fold:

Since it's invoked as a command, the _in_range: doesn't
really make sense.
Drop a stray log message in ViTypesetter.
Add foldAtLocation: to ViDocument.

This exposes direct access to the ViFold object at a given
location, if any.
Add very rudimentary string indicators for folds in the ruler.

We'll want to improve these, but this is so we can clearly
see what kind of calculation mistakes we're making when
figuring out where the fold should start and end.
Fix the start aned end of newly created folds.

We were using indices instead of line numbers when
invoking locationForStartOfLine:, so the ranges we marked
were actually shifted back by one line compared to the
ranges the user wanted to mark.
Drop a no-longer-useful log statement.

Now that we annotate folds in the ruler, it's no longer
necessary to print them out whenever a new one is created.
Use calloc instead of malloc in ViGlyphGenerator.

We do this because we were getting garbage in the buffer,
despite ostensibly filling it with "proper" data. We now don't
get garbage, so a folded code block renders properly.