Add unified stemming interface

This commit refactors ever so slightly the '.Stem' modules to create a
unified interface; now Gargantext.Core.Text.Terms.Mono.Stem exports a
single 'stem' function which can be used with different
`StemmingAlgorithm`s, and now the other algorithms' functions have been
shielded behind internal modules.

This makes possible to see at glance which part of Garg are using which
stemming algorithm, as it wasn't always clearer before.

This also allows us to have a better control over the langugages, as not
all the stemming algorithms supports all the languages that Garg
supports.
4 jobs for adinapoli/issue-324-part-2 in 113 minutes and 10 seconds (queued for 23 seconds)
Status Job ID Name Coverage
  Cabal
passed #11787
cabal

00:55:33

 
  Stack
passed #11788
stack

00:03:22

 
  Bench
manual #11789
allowed to fail manual
bench
 
  Test
passed #11790
test

00:54:14