Feature/namespaces

We converted the library to namespaces, and we use in our internal projects.

Maybe it's too big a change to merge right now, but it could become a second officially supported and updated master branch.