Major reworking of log class. Creates `ILog` interface which
is passed into code processors. They don't need access to
all the Gtk widget stuff.

Implements array sorter for log entries. They should appear
in the UI, sorted by priority. I.e.:

    Debug >  Errors > Warnings > Info

Signed-off-by: Jim Teeuwen <jimteeuwen@gmail.com>