Module data is data associated with a module handle that is available
for the whole module loading time so it can be used also during
different operations.
We use cgo handles to preserve the life of the go objects so any value
can be associated with a pam transaction.
This will make it easier to avoid exporting unexpected symbols to the
generated PAM libraries.
Also it makes less messy handling C code inside go files.