utils/logger.[ch]pp gives a logger implementation based on ostringstream
that is pretty nice. I took this from Stack Overflow and added some
things to make syntax nicer. Changed all cout and cerr statements in
Redox to be of the form logger.{debug/info/warning/error/fatal}() <<
stuff. Arguments for non-printed statements are still evaluated. Gives a
performance hit if we actually add statements on every callback and run
speed tests. For most use cases, doesn't matter. For now, not including
such low level output anyway. Would be nice to have a macro to leave
out/include the low-level logs at compile-time.