Bug 854980 - Implementing simple utils for observing window / tab events

This change introduces foundation that would allow decoupling tabs from windows so that each of them can be de-traitified separately. It also introduces replacement for a deprecated `WindowTracker` as a part of this work.