tools: migrate to ESLint flat config and update ESLint to v9.3.0
Closes: https://github.com/nodejs/node/issues/52567
Not completely ready. I have to double check some things because there are reported errors.
I'm opening the PR to ask a question:
For now, I put the entire config in one file. I would like to split it into multiple files to make it more readable but I'm not sure what approach to take. My current idea is to create a new folder, probably somewhere in tools
.