Add the GTK abstraction

Merged Mikhail Morfikov requested to merge (removed):add-gtk-abstraction into master

GTK/QT apps need to read some config files in order to properly render their windows in a graphical session. There are some qt5 abstractions already, but it looks like the gtk abstraction is missing.

The *gtk* rules are basically the location of the GTK config files I found on the internet when I was trying to compose this abstraction. Some of the paths are missing in Debian, but different distros can use (or were using) them. Since GTK apps use themes, the abstraction also include the whole /usr/share/themes/ , @{HOME}/.themes/ and @{HOME}/.local/share/themes/ dirs. I'm not sure whether this should be tightened. The .Xauthority file is generally needed when you deal with GUI apps under Xserver. Also since all GUI apps redirect output/error to the ~/.xsession-errors file, this file also was included here.

Closes: #168 (closed) #65 (closed)