Move the ownership of Session to Application
The Session can be useful not only to the platform backend but also input backends and for things such as vt switching, etc. Therefore it's better to have the Application own the Session.
Draft: untested
Edited by Vlad Zahorodnii