Add support for custom loggers.

Close #113
Close #94
Add comments like the other freedom.js interface declarations