Add simple logging framework

Logging calls take a module ID and severity level, each module has
a log level which controls how much debug output is printed.
There is a list of module IDs in the applogger header to get things
started.

This commit has some test calls in MainWindow.