Optimization, refactoring, docs, and feature: silence

This branch rolls up quite a few changes.

- Added `silence()` and `unsilence()` to `logging`, `logging.Logger`, and the handlers.
- Reworked the way `Logger` gets inherited properties (now simpler and faster, and probably more correct)
- Refactored `level` properties into a common base class (`HasLevel`)
- Made several `logging.Logger` and handler methods "chainable" (returning `this`)
- Eliminated extra nesting in various module exports
- Updated `Readme.md` for the latest changes
- Started getting doc comments cleaned up so we can generate API docs with `jsdoc`