Extract a base class for loggers

For performance and clarity reasons, there is a BoundLoggerBase class now that
can be subclassed (or composed) into concrete loggers.

The default generic one is moved into structlog._generic and still works like
before.