Bower components can be relative to a manually configured root

It is not unusual to serve Bower packages from a manually set directory:
- e.g. if you use `grunt-contrib-connect` you can add `bower_components/` to the `base` directory.
- e.g. preprocessors often accept an additional assets directory which is often the same as `bower_components/`.

So instead of injecting Bower dependencies relative to current file one can now manually set a root directory.

I've included a test for this case and updated the README.

---
Example:
Instead of getting 
````
  <!-- bower:js -->
  <script src="../bower_components/jquery/jquery.js"></script>
  <script src="../bower_components/codecode/dist/codecode.js"></script>
  <script src="../bower_components/bootstrap/dist/js/bootstrap.js"></script>
  <!-- endbower -->
````
you get
````
  <!-- bower:js -->
  <script src="jquery/jquery.js"></script>
  <script src="codecode/dist/codecode.js"></script>
  <script src="bootstrap/dist/js/bootstrap.js"></script>
  <!-- endbower -->
````
with
````
  overrideRoot: '.tmp/bower_components/' // taken form test, hence the '.tmp'
````