Handle log levels more elegantly

The coloured log level indicators are added and formatted (coloured) by
print() now. Instead it takes the log level (defined in an enum) as an
additional argument.
Make module name constant

A module name won't change during its execution. This way we make sure
that it isn't NULL (unless specified in the config, but in that case the
user is really, really, really retarded).
Add 'selected module', simplify module API

Everytime module code is run, it does no longer need to pass its buffer
(or other things identifying itself) to the API functions, as karuiwm
will set the `selmod` pointer to the currently active module, and will
thus know which one is currently calling an API function.
Add more X resource type wrappers, make them non-static, add defaults

Strings and Integers are now also able to be read (I think that's all
that is currently needed).

Modules may now use the wrappers, too. This allows each module to access
its own X resources value under 'karuibar.[modulename].[attribute]'.

Last but not least, the wrapper functions each take a default value as
argument, which is assigned to the variable if the value is not found
in the X resources.