Converted to a more traditional way of logging

The logger now supports log levels in stead of categories. These levels
can be configured when logging a message, or a message can be logged
through a special level methods that automatically adds the level
parameter.

Logs that do not meet the set level will be ignored. This way output can
be controlled.