slave: Make all the "cached display" properties readonly

There's no reason to modify this or even set any of them besides
display-id at construct time.
session: Add support for XDG_SESSION_DESKTOP

Set $XDG_SESSION_DESKTOP to the current session name.