Make NETRootInfo initialization reasonable
The documentation of NETRootInfo::activate() says that it should be called after creating the NETRootInfo object to read properties.
However, it's called in two places: VirtualDesktopManager::setRows() and Workspace::initializeX11(). At quick glance, there's no justifying reason to call activate() in setRows(), it doesn't fit the purpose of setRows().
This change re-arranges NETRootInfo initialization code so it makes more sense.