buffers: use metadata::libide-position for cursor position
Previously, we were relying on working history to track the most recent cursor position. That is rather prone to failure so instead we'll use the gvfs backend to store metadata::libide-position with a value like "line:offset" to restore the cursor. We will also accept just "line" which will result in 0 being used for the offset. Line and offset use a zero index. This does require that gvfs is installed to work correctly, and jhbuild has been updated to include that as a dependency. Long term, we should investigate a metadata manager of sorts to be attached to IdeContext so that metadata operations can be blocked (asynchronously) during context unloading.
Showing with 71 additions and 55 deletions