Output widget

Ping @ellisonbg because I said I would and @jasongrout who originally requested this.

Here's what I added:
```js
        // Keep a stack of the 'active' output areas (where active means the 
        // output area that recieves output).  When a user activates an output
        // area, it gets pushed to the stack.  Then, when the output area is
        // deactivated, it's popped from the stack.  When the stack is empty,
        // the cell's output area is used.
```