Change world processing loop

World.hs:
We make use of Applicative to make clearer what procedures are "pure"
and what procedures have side effects.
Reorganize code in Objects.hs

Objects.hs:
We reorganize the the code of the GameCollidable class to make clearer
which procedures have to be instantiated by a data type and what should
be predefined.
Implement pre-commit hook, Improve documentation

/Concept.org:
- add important notes about the concept of the program

/README.org:
- add section about the dependencies of the package
- add section about coding conventions

/install-hooks.sh:
- implement script to install pre-commit hook

/hooks/:
- implement pre-commit hook to check coding conventions
Improve pre-commit hook

/hooks/pre-commit:
- improve structure of the source code
- include execution of the test suite in the pre-commit hook