Move resize/move logic to client side

Also, add a new method for retrieving the available desktop geometry.
Order methods in .h alphabetically.
Add docs about main app functions