WindowModel: when adding or removing a window, group the processing to synchronize the signals as much as possible

Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com>
WindowModel: add a "count" property

Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com>