Fixed bug where default formatter was set incorrectly

When string formatter was created, the default formatter was also set.
This might affect code where a formatter is created but never set.

SetFormatter should be used for all cases and code depending on this
missbehavior need to be fixed.
Added backend formatter

Makes it possible to have different formatters for different backends.

Fixes #25 and #31.
Updated examples to use new backend formatter

This makes the examples work on platforms where syslog is not available
too.