Reorganize/fix the Sprockets Plugin

The compile function of the sprockets plugin was out of sync with the
rest of ruhoh and no longer worked. In the process of fixing it, I ended
up reogranizing the previewer and compiler code to match the layout of
Ruhoh's built-in compiler code as much as possible.