When closing the lid on a laptop, the number of active monitors drops to
zero. However, `monitor_labeler_show()` always assumes at least one
monitor is active, as it unconditionally closes the `GVariantBuilder`.
This causes a crash when there is no monitor added to the
`GVariantBuilder`, however, as no value was added to it.
Instead, only close the `GVariantBuilder` when we're actually going to
use it and know a value was added.
Commit ca9228bb fixed a similar crash for when there are no outputs at
all. But in this case, there is still an output, it is just not active,
only with the active UI number as 0.
Fixes#3058