Cleaned up the whole structure.

Now everything is a data, and should be parsable in the future, because
just add new constructors to it when we need them and translate the old
constructores to the new ones.

We also use a Context lib for all the IO logic and the View is for
render configuration and linking only