Multi window support

Just opening this as a TODO to myself:

* tab object registries should be per window
* perhaps we shouldn't default to the currently focused tab (and do something like with window registries instead)
* make sure there are no memory leaks
* get rid of the meta registry and get this information dynamically instead