Clean and re-design

I removed variables unused, hid those that could be hidden. I also
created an abstract class to factorise stuff that every effects have.
Finally, there is now a support for doxygen, just need to add the
comments.