Slightly more pythonic approach

Singleton is essentially the same as a module.
Logging is already part of Python, let's use that.
Patching external libraries is evil.

Also note that while reusing `logging` interface I rewrite the arguments so:

```python
log.warn('Cannot frobnicate %s and %s', obj1, obj2)
```

Becomes (`console.log` syntax):

```json
["Cannot frobnicate %O and %O", {…}, {…}]
```