As a test implementation, this allows the TablesPage to open a CrudTab for a table/view without the need for TablesPage, CrudTab and DatabaseWindow to know anything about each other.
This should allow concurrency in the plugins to be independent from their container. Contains also some work on the system for registering plugins.