converted vulcanize to stdio-when-needed library and utility

This patch wraps the vulcan.js code as an object so that its processing environment is local to single object instances, with a `process` function that either works off of the `options.input` and `options.output` when used, or from standard I/O when `options.stdio` is used, allowing it to be used as a piping utility (e.g. `ls *.html | vulcanise --stdio | ...`) as well as an "just another step" libary in node.js itself through
```
var vulcan = require('./lib/vulcan.js');
var data = "...";
vulcan.process(data, function(err, data) {
  if(err) { console.error(err); }
  // do something with vulcanised [data]
});
```