Fix: Cursor behavior not as expected on re-render.
Fix: Cursor behavior not as expected on re-render.

Previously on re-render (if nuke_cursors was False), cursors would keep their
position with respect to their offset from the start of the file.  However,
this is not actually what we want in most circumstances - we want the cursor
to remain positioned at the same place on the screen, if possible.

This change updates render behavior such that, if selections exist, record their
row and column before updating the content.  Then, reset those selections
to their "a" point (one end of a selection).  This way, if multiple files are
selected on re-render, the cursor will remain positioned at one end of the
selection and the selection will go away.

Closes #87.  Closes #117.

theiviaxx/GitSavvy,stoivo/GitSavvy,stoivo/GitSavvy,asfaltboy/GitSavvy,ddevlin/GitSavvy,dvcrn/GitSavvy,ralic/GitSavvy,asfaltboy/GitSavvy,dreki/GitSavvy,asfaltboy/GitSavvy,stoivo/GitSavvy,theiviaxx/GitSavvy,dreki/GitSavvy,jmanuel1/GitSavvy,ralic/GitSavvy,divmain/GitSavvy,ddevlin/GitSavvy,divmain/GitSavvy,divmain/GitSavvy,jmanuel1/GitSavvy,ddevlin/GitSavvy,dvcrn/GitSavvy