Large structural changes. Moved mathlib and bindings to library package. Re structure many modules for better extendability.

From this point on we will try to correctly use git, no more large commits of who knows who did what.