Only enable backends for interface modules being built

Make the backend mechanism more flexible by only enabling backends
when the interface module being built has been enabled. This now
enables empty builds where no modules are enabled, and will only
enable modules claiming to implement vtkRenderingCore if that is
the only module being built. This prevents a backend from enabling
a whole series of modules, such as vtkRenderingVolume,
vtkRenderingContext2D, etc, when the only requested module was
vtkRenderingCore.

Change-Id: I96a5abca3e1a71a796479d2ab6ec8207441b27c9