This adds a `graphical-session-pre` target for things that need to run just before the main session starts. Also adds a loop during shutdown that waits until all deactivating units are gone. Inspired by <https://youtu.be/hq18daxTkLA>.
Also make sure graphical-session.target is generated.