Gigantic refactoring and cleaning of the code.

Refactoring strategy:

- keep only one implementation file per folder, the folder being the module
	- this way it's easier to visualize the content of a module (fixed size)
	- it's also better to balance the documentation content
- complete each module with at least skeletons for future content
- re-organize top elements in a more semantic way

Elements refactored:

- backend implementation
- web application