Update logger implementation

New logger should be a singleton that takes appenders either in runtime or via requirejs style configuration.

Default appenders for console and hub should be provided.