Refactor logger

Change logger to a class, instead of just functions. This way we can
create one instance, and modify the DEBUG value to affect all uses of
logger in the project.
Update readme

Add examples, API documentation, and details on contributing to the
project to the readme.