In differential D20548 an issue with document switcher plugin and
splitted views is described.
The solution is to open/activate document instead of activating
view (aka Sublime::View) as view are linked to area (aka Sublime::Area)
and will show again in same area instead of current active area.
But the differential solution was trying to retrieve the document
from activated view which is not the perfect way as it must handle
Sublime::UrlDocument to have a url for openDocument function.
This patch use the document controller (aka IDocumentController)
instead of sublime components.
The plugin tracks a list of document (aka IDocument) and
enables signals for open/activate/close actions.
Every document is placed in list model via DocumentSwitcherItem
class responsible of extracting text and icon from a document
passed in its constructor.
Without dependency to sublime, the plugin structure is
simplified by not taking care about active main window, active
area, and views. Only documents are tracking independently of the
way they are displayed in UI.