.postgraphilerc.js Doesn't Work in an ESM-using Project
<!-- Before opening an issue: if you use `npm` try running `yarn` instead; if
      you run `yarn`, please try running `npx yarn-deduplicate && yarn`. -->

### Summary

In modern JS many developers enable then newer "ES Module" syntax (ie. "import" instead of "require") by adding:

      "type": "module",

to `package.json`.  However, if you try to run postgraphile in such a project, with a `.postgraphilerc.js` file, you'll get:

```
ROOT/node_modules/postgraphile/build/postgraphile/postgraphilerc.js:11
const config = postgraphileRCFile ? require(postgraphileRCFile) : {}; // tslint:disable-line no-var-requires
                                    ^

Error [ERR_REQUIRE_ESM]: require() of ES Module ROOT/.postgraphilerc.js from ROOT/node_modules/postgraphile/build/postgraphile/postgraphilerc.js not supported.
Instead change the require of .postgraphilerc.js in ROOT/node_modules/postgraphile/build/postgraphile/postgraphilerc.js to a dynamic import() which is available in all CommonJS modules.
```
If you try using the older CommonJS syntax in that file, you instead get:

```
ROOT/node_modules/postgraphile/build/postgraphile/postgraphilerc.js:11
const config = postgraphileRCFile ? require(postgraphileRCFile) : {}; // tslint:disable-line no-var-requires
                                    ^

Error [ERR_REQUIRE_ESM]: require() of ES Module ROOT/.postgraphilerc.js from ROOT/next/node_modules/postgraphile/build/postgraphile/postgraphilerc.js not supported.
.postgraphilerc.js is treated as an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which declares all .js files in that package scope as ES modules.
Instead rename .postgraphilerc.js to end in .cjs, change the requiring code to use dynamic import() which is available in all CommonJS modules, or change "type": "module" to "type": "commonjs" in ROOT/package.json to treat all .js files as CommonJS (using .mjs for all ES modules instead).
```

But of course, if you rename the file to end with `.cjs` (`.postgraphilerc.cjs`), Postgraphile won't recognize it; it will be the same as not having the file at all.

### Steps to reproduce

Add `"type": "module"` to package.json, create a `.postgraphilerc.js` file, and `npx postgraphile`.

### Expected results

In a perfect world, postgraphile would try to use `import()` (which, as the above message indicates, "is available in all CommonJS modules") if the require in `.postgraphilerc.js` fails.  In other words, change `postgraphile/postgraphilerc.js` from:

    const config = postgraphileRCFile ? require(postgraphileRCFile) : {}; // tslint:disable-line no-var-requires

to something like:

    let config;
    try {
        config = postgraphileRCFile ? require(postgraphileRCFile) : {}; // tslint:disable-line no-var-requires
    } catch (err) {
      // if it's the module error ...
      config = postgraphileRCFile ? import(postgraphileRCFile) : {}; // tslint:disable-line no-var-requires      
    }

Failing that, another great solution would be for postgraphile to also check for a `.postgraphilerc.cjs` file, if no `.postgraphilerc.js` file is found. In other words, change:

```
 try {
     postgraphileRCFile = require.resolve(process.cwd() + '/.postgraphilerc');
 }
 catch (e) {
     // No postgraphileRC; carry on
 }

```
to:

```
try {
    postgraphileRCFile = require.resolve(process.cwd() + '/.postgraphilerc');
}
catch (e) {
    try {
        postgraphileRCFile = require.resolve(process.cwd() + '/.postgraphilerc.cjs');
    }
    catch (e) {
        // No postgraphileRC; carry on
    }
}
```

  This way, at least ESM users could fall back on CJS to make the file work.

### Actual results

It seems impossible to have ES Modules and a `.postgraphilerc.js` file.

### Additional context

Node.js v19.7.0 (but I believe this will be a problem for any modern Node version, perhaps from 16 on?)

### Possible Solution

I don't think there is any way to workaround this without a change to Postgraphile, as Node won't let you mix and match module systems unless you play by its rules (ie. using `import()` and/or `.cjs`).

Also, I should note that I'd be happy to submit a PR if a fix for this issue is desired (and I would hope that it would be!)