Add gray visual, implement "get_best" functions
Add gray visual, implement "get_best" functions

(cherry picked from commit 42d07ad6ce643a2fdb3c38506e85afa07e7cd17f)

grubersjoe/adwaita,bratsche/gtk-,alexlarsson/gtk,jessevdk/gtk,grubersjoe/adwaita,alexlarsson/gtk,ebassi/gtk,grubersjoe/adwaita,Distrotech/gtk2,ebassi/gtk,alexlarsson/gtk,Sidnioulz/SandboxGtk,grubersjoe/adwaita,ebassi/gtk,ahodesuka/gtk,Distrotech/gtk2,davidt/gtk,ahodesuka/gtk,Sidnioulz/SandboxGtk,msteinert/gtk,davidt/gtk,Adamovskiy/gtk,grubersjoe/adwaita,chergert/gtk,davidgumberg/gtk,msteinert/gtk,jadahl/gtk,Distrotech/gtk2,davidt/gtk,Lyude/gtk-,jigpu/gtk,ahodesuka/gtk,davidgumberg/gtk,davidgumberg/gtk,jadahl/gtk,chergert/gtk,ebassi/gtk,ebassi/gtk,jadahl/gtk,davidgumberg/gtk,Lyude/gtk-,davidgumberg/gtk,jigpu/gtk,chergert/gtk,jigpu/gtk,Lyude/gtk-,grubersjoe/adwaita,Sidnioulz/SandboxGtk,msteinert/gtk,Adamovskiy/gtk,Lyude/gtk-,jadahl/gtk,bratsche/gtk-,Adamovskiy/gtk,Distrotech/gtk2,Lyude/gtk-,Sidnioulz/SandboxGtk,chergert/gtk,jessevdk/gtk,Adamovskiy/gtk,Adamovskiy/gtk,msteinert/gtk,alexlarsson/gtk,simokivimaki/gtk,simokivimaki/gtk,jadahl/gtk,Distrotech/gtk2,davidt/gtk,jigpu/gtk,alexlarsson/gtk,chergert/gtk,simokivimaki/gtk,ahodesuka/gtk,jigpu/gtk,davidgumberg/gtk,jadahl/gtk,jessevdk/gtk,chergert/gtk,Adamovskiy/gtk,ahodesuka/gtk,chergert/gtk,bratsche/gtk-,jadahl/gtk,ahodesuka/gtk,msteinert/gtk,chergert/gtk,bratsche/gtk-,jigpu/gtk,Lyude/gtk-,simokivimaki/gtk,ahodesuka/gtk,Adamovskiy/gtk,jessevdk/gtk,simokivimaki/gtk,davidgumberg/gtk,Sidnioulz/SandboxGtk,bratsche/gtk-,alexlarsson/gtk,msteinert/gtk,Lyude/gtk-,jessevdk/gtk,ahodesuka/gtk,Distrotech/gtk2,alexlarsson/gtk,jessevdk/gtk,jadahl/gtk,davidt/gtk,ebassi/gtk,jigpu/gtk,grubersjoe/adwaita,bratsche/gtk-,davidt/gtk,alexlarsson/gtk,jessevdk/gtk,grubersjoe/adwaita,simokivimaki/gtk,Adamovskiy/gtk,davidgumberg/gtk,Sidnioulz/SandboxGtk,jigpu/gtk,Lyude/gtk-