fix for visual modes
fix visual mode and line length calculation
Fix PageDown
fixed initial position bug
Refactored many functions to return command strings and did some work on visual mode paging
Revert "Revert "Support for folds""

This reverts commit 2280476a49ed81f25885641a799874b5b94d3c70.
Merge branch 'fixes'
Use full window width as starting width

Previously we were using the length of the longest line.
Simplified mappings

This commit gets rid of some superfluous intermediate mappings.  It also
groups all the default mappings together so that they be enabled or
disabled as a group instead of piecemeal.
Enable varying line endings by default
Turned off paging functions
Split up NarrowBoundaries into separate functions
Added a bit of doc to the Bisect function
Global dictionary for storing bounding rectangle
Pass bounding rectangle as argument

The functions that modify the bounding rectangle now accept it as an
argument rather than accessing the global reference.  This is in
preparation for allowing arbitrary user-defined bisection functions.
Split boundary and cursor functions

Now the functions which modify the bounding rectangle are separate from
those that change the desired cursor position.
Changed default stop mappings to C-@
Some work on cleaning up visual selection
Removed some dead code
Remove cursor movement check

This commit gets rid of a check that automatically starts a new
bisection if the cursor has moved since the last bisection.  The
thinking here is that forcing the user to explicitly start bisections
can both simplify the code and lead to a more unified/predictable user
experience.