This change allows slf4bukkit to run on Bukkit implementations without jansi by making ColorMapper an interface. Instances are created by using a ColorMappingFactory: If the Bukkit implementation bundles jAnsi, an AnsiColorMapper is returned that maps ChatColors to their ansi equivalents; if the Bukkit implementation does not bundle jAnsi, a NotSupportedColorMapper is returned that returns strings as is.
This change allows slf4bukkit to run on Bukkit implementations without jansi by making ColorMapper optional: If it cannot be initialized, colors are not mapped. Instead this may (or may not) be done by the Bukkit implementation, that alos handles the logging system everything the output of slf4bukkit is to.