add Filters

Filters allow for very specific filter of log messages for both
Handlers and Loggers. Filters can use a string, a regexp, or
function to filter log records.

fixes #1