Related to #695
This applies to both the root-level and the bar configs. Closes #1937.
Added seat configuration to sway config. Also improved the way that the configuration is generated to reduce superfluous whitespace. Supersedes #1663
When setting `...sway.package = null`, the default bar configuration would throw an error trying to use the bar from the null package. Logic is added to use the bar from `pkgs.sway` instead of `cfg.package` if it is null. Fixes #1714