Modularizing according to packages.

Modularizing allows the community to easily handle the code and make
quick changes. It makes the cepl interface clean for external user. It
open up more options for easy management of code.

For example one could replace the maths package with a standard
one (sb-cga) in the future or separate out the maths package as an
entirely independent project.