unify loggers

Before we were repeating the same code to initialise all the different
loggers. This commit introduces two stock loggers called `ioStdLogger`
and `monadicStdLogger` which can be reused many times.

It also allows the `GGTX_LOG_LEVEL` to take effect during `readConfig`,
so that the `startupInfo` would show up the correct information.
4 jobs for adinapoli/issue-381 in 18 minutes and 15 seconds (queued for 2 seconds)
Status Job ID Name Coverage
  Cabal
failed #17720
cabal

00:18:15

 
  Stack
skipped #17721
stack
 
  Bench
skipped #17722
allowed to fail manual
bench
 
  Test
skipped #17723
test
 
Name Stage Failure
failed
cabal Cabal
[49 of 57] Compiling Test.Utils       ( test/Test/Utils.hs, /builds/gargantext/haskell-gargantext/dist-newstyle/build/x86_64-linux/ghc-9.6.6/gargantext-0.0.7.4.5.1/t/garg-test-tasty/opt/build/garg-test-tasty/garg-test-tasty-tmp/Test/Utils.o, /builds/gargantext/haskell-gargantext/dist-newstyle/build/x86_64-linux/ghc-9.6.6/gargantext-0.0.7.4.5.1/t/garg-test-tasty/opt/build/garg-test-tasty/garg-test-tasty-tmp/Test/Utils.dyn_o ) [Gargantext.API.Routes.Types changed]
[50 of 57] Compiling Test.Ngrams.Query ( test/Test/Ngrams/Query.hs, /builds/gargantext/haskell-gargantext/dist-newstyle/build/x86_64-linux/ghc-9.6.6/gargantext-0.0.7.4.5.1/t/garg-test-tasty/opt/build/garg-test-tasty/garg-test-tasty-tmp/Test/Ngrams/Query.o ) [Gargantext.API.Ngrams changed]
[51 of 57] Compiling Main ( test/drivers/tasty/Main.hs, /builds/gargantext/haskell-gargantext/dist-newstyle/build/x86_64-linux/ghc-9.6.6/gargantext-0.0.7.4.5.1/t/garg-test-tasty/opt/build/garg-test-tasty/garg-test-tasty-tmp/Main.o ) [Test.Core.Notifications changed]
Error: [Cabal-7125]
Failed to build test:garg-test-hspec from gargantext-0.0.7.4.5.1.
Failed to build test:garg-test-tasty from gargantext-0.0.7.4.5.1.

Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1