ENH: Represent 3D Frames as scrollablestacks using JS.

I implemented the feature suggested by @caspervdw in #108. As @tacaswell said in #108, I was careful not read that GPL implementation, and so this is completely independent. I'm not sure how it compares in the details, but the general idea is straightforward enough. Does it look about right, Casper?

I made a [simple example here](http://nbviewer.ipython.org/gist/danielballan/9ab4edfe1df0d641b62d). (As usual with notebooks containing JS, you have to run it locally.)

At minimum, this needs docstrings and basic test coverage before merging.
An issue with this normalization is that in a 3D image, every plane gets its own normalization. I would add an extra arg in `_as_png`: `normalization = True`, so that normalization per plane can be switched off.
Then in `_scrollable_stack` normalization can be done on the full stack (somewhere above line 200)