editor: add tab to GbEditorNavigationItem

We can then use this to save us some lookup time to reselect the tab
if it has not yet been closed.

Otherwise, we have to compare the file to everything in the tab list and
then fallback to opening the tab.
navigation: jump between edit points with global navigation.

Lots of plumbing had to go in here that I'm not happy about with regards
to circular references. We used weak references for them, of course, but
the part that bothers me is that the define had to go in workbench instead
of in navigation-list.

Anywho, its a good start. We need to make this open existing files if the
tab has been closed, though.