added the logger code to the main ngl branch and turned it into a singleton to make logging of NGL demos easier, still needs a bit of work but should be ok