Bug 980410 - Implementation of toolbox panel

Note that dev/volcan.js has being reviewed by @dcamp separately form this, so feel free to ignore it.
Are marshal and demarshal appropriate descriptions for what this does? I don't know