Let users install fonts to their HOME directory
Remove redundant ~/.fonts element from the font search path
Shut up warning about missing fonts.dtd
Obsolete fonts.extraFonts

You can now just set fonts.fonts, which will be merged with the
default value unless you use mkOverride.
Rename hardware.opengl.videoDrivers back to services.xserver.videoDrivers

Fixes #2379.
The new name was a misnomer because the values really are X11 video
drivers (e.g. ‘cirrus’ or ‘nvidia’), not OpenGL implementations. That
it's also used to set an OpenGL implementation for kmscon is just
confusing overloading.
Move the NVIDIA support into its own module

Previously all card-specific stuff was scattered across xserver.nix
and opengl.nix, which is ugly. Now it can be kept together in a single
card-specific module. This required the addition of a few internal
options:

- services.xserver.drivers: A list of { name, driverName, modules,
  libPath } sets.

- hardware.opengl.package: The OpenGL implementation. Note that there
  can be only one OpenGL implementation at a time in a system
  configuration (i.e. no dynamic detection).

- hardware.opengl.package32: The 32-bit OpenGL implementation.
Xfce: Don't depend on GTK+ 3 by default

Given that Xfce is intended as a light-weight desktop environment,
pulling in two versions of GTK+ by default is not ideal.