Moved session into backend/session and changed ownership
Created by: ascent12
The session stuff is tied very closely to the DRM/libinput backend, so it didn't really make sense for it to be sitting at the top level of project. I moved it into backend/, where it can live alongside other similar things like wlr_udev (also very DRM/libinput specific).
Also, the user no longer needs to pass a wlr_session to wlr_backend_autocreate
: it will create one on its own.
The multi backend has been modified to accept a wlr_session and a wlr_udev. It takes "ownership" of them, and will clean them up properly when it is destroyed (previously, we leaked the wlr_udev). If the multi backend is ever used for something that doesn't need a wlr_session/wlr_udev, it's perfectly safe to just pass it NULL.
This fixes the broken session issue I outlined in #28.
Again, the build system code is not committed. I'll wait for #27.
Currently, this breaks the ability to change VT in the examples, because the user doesn't have access to the wlr_session any more. We need to decide how the VT changing function and how the other backend-specific functions are going to look.