Cleaner path handling using a root value

If a root value is supplied in the options for this middleware, then the dest and src values are relative this this location. They should also use the standard URI path separators.

When this is done, the setup looks something like this (for express):

```javascript
  app.use(sass.middleware({
    src: '/sass',
    dest: '/css',
    root: path.join(__dirname, 'public')
  }));
```

A call to /css/some/path/file.css will build the paths such as
```
dest: /css/some/path/file.css
src:  /sass/some/path/file.scss
```
The old version of the code, given a setup of the following:

```javascript
  app.use(sass.middleware({
    src: '/sass',
    dest: '/css'
  }));
```

would have generated paths such as:
```
dest: '/css/css/some/path.css'
src: '/sass/css/some/path.scss'
```
You should be able to see the unnecessary '/css/' path structures within. This just makes things messy and for no real good reason.
Merge pull request #100 from nyteshade/master

Cleaner, non-breaking, path handling for source and destination with a shared root