This passes the session id around everywhere and ensures that things
like buffer names are all unique.
We now have the _vimspector_session update to point to the active (or
last accessed tab). This feels fairly natural and mostly seems to work.
NOTE: in vscode there is no "multiple tabs" - they actually add the
subprocesses to the stack trace somehow and when you click on a frame in
that it switches to the session for that process. Each process PC is
visible in the editor. It's kind of confusing.
Things still broken:
- vimspector_session_windows
- breakpoints need to be project-wide
- PC display (how to show "all" PCs, or just show the current one for
the current tab ?)
- it would be nice for the tterminal buffers to be visible on all tabs.
not sure how to do that.