Improved console logging

Previously, when using console.log facilities, only the first argument was respected by ConsoleHelper, resulting in information not being logged when `console.log` was invoked with multiple arguments.
Additionally, arguments would be converted straight to strings, resulting in `[object Object]` or similar results in the log.

This change allows any number of arguments to be passed to the logging functions and it converts the inputs to a representation that is useful when debugging the application.

A call like `log( "a", 123, { foo: 'bar' }, function() { return 'baz'; } );`
Results in: `a,123,{"foo":"bar"},function () { return 'baz'; }`