Use a complete console implementation

Copy the `Console` class from node core and customize it to push to a message queue instead of writing to streams. To be used in test workers. This way:

1. We get more readable output
2. No more running out of memory
3. Get console.trace time and all things in node's console