ENH: Add console visual

Ready for review/merge.

Closes #418.

Example output:

![screenshot from 2014-09-02 10 27 45](https://cloud.githubusercontent.com/assets/2365790/4122587/1b455534-32c6-11e4-9821-e0ca0e949bd6.png)

Good question. Right now, there is a one-to-one mapping between `write` calls, and lines out (one write call leads to one line written, potentially truncated). We can make this more like `print`, and I'd be +1 on even calling it `print`, if we made it look for `\n`'s so you could print multiple lines like `console.print('here\nare\nfour\nlines')`.

Right now, the writes are also truncated based on the line width. I could alternatively auto-wrap to the next line. WDYT? I guess that could be an option like `print(line, end='\n', wrap=True)`?