Internals: Module documentation

Updated the documentation on how to create a module to reflect the new
API and to provide a little bit more of details to the user. It now
looks more like a small guide. Some points are still pending with
a TODO tag.