Make internal tab state follow same order as in the tree

So currently if you move a tab in Tree Tabs the actual underlying tab is not moved in the browser. This means that Ctrl-Tabbing through tabs will not respect the order set in the vertical bar, it keeps jumping back and forth.

We should mirror the state both ways. When the browser is loaded, the tree should reflect the ordering in the browser. When a tab is moved in the tree, it should be moved in the browser too, via browser.tabs.move().