A series of updates to *) Deal with new device features like screen objects. *) Handle query buffer object pinning correctly. *) Make hardware surfaces swappable. v2: Rebased on Dave's freedesktop.org "linux" repo. Incorporating Konrad's feedback in patches 05 and 06 and as an additional cleanup patch (26)