Based on the `nixpkgs.overlays` option available in NixOS, allows users
to further customize the `pkgs` instance used when evaluating nixvim.
The standard module tests are now provided a few extra module args to
enable a test where we instantiate a custom nixpkgs instance.
Allows using the `callPackage(s)` pattern on tests.
Rather than using `pkgs.callPackage`, we implement our own variant using
`lib.callPackageWith`.
Our variant (`callTest`) includes additional nixvim-specific stuff
commonly used by our tests.
Move the previous `default.nix` to `main.nix` so that `default.nix` can
be used for defining the set of all test derivations.
`main.nix` is imported by `default.nix`, but is only responsible for the
tests built from `tests/test-sources/`.