OdtDocument.fixCursorPositions should preserve the current range selection

Previously, fixCursorPositions would always result in the cursor's range being collapsed. This has now been extended to maintain the selection whilst fixing the position of both the cursor and anchor nodes.

This is a dependency for the coming direct cursor styling patch (#24). Note, it depends on pull request #101.