Move core shade code to AbstractClient
Summary:
In order to allow shading wayland clients, this change moves core shade
code from X11Client to AbstractClient.
Test Plan: Shading still works on X11.
Reviewers: KWin, cblack
Reviewed By: cblack
Subscribers: cblack, kwin
Tags: KWin
Differential Revision: https://phabricator.kde.org/D29512