Initial setup for components library

See the README for the organization of the files. I've added one component so far, the uploadLink.

Few important things to note:
- Since this component library is used as a Javascript library it becomes hard to use templates:
  1. The templates are no longer in a location accessible by the webserver (unless we introduce some
    complex build step to extract them).
  2. Because of 1 we also don't have freemarker.
  The solution for 1 is to use Node's `fs` module in combination with [brfs](https://github.com/substack/brfs)
  for browserify to embed the templates in the JavaScript files. brfs is configured in this module,
  any browserify application that uses this module will automatically pick that op. The solution to
  problem 2 is easy: don't use freemarker anymore for these components. (which is a good thing)
- `ngInject` is NOT processed in this repo (yet?) because we don't build anything here. For now any
  application that uses this module must make sure `ng-annotate` is run before minification.
- The library is far from finished. We're missing things like tests, builds for non-browserify apps, etc.
this should be template instead of templateUrl