non-functional change.
Introduce bower

External js, css, font, icon dependendies is managed by bower. Versions
are left as it was.

Instructions:
1) install bower via npm. This will install bower by looking at
package.json
2) Run "bower install". It installs all web dependencies as defined in bower.json. Files will be persisted in www/bwr.
3) Run "npm start". This will start development server at port 8000.
Introduce grunt

Set connect task to serve static resources on port 8000.

Instructions:
1) npm install -g grunt
2) npm install
3) grunt connect
Introduce karma

Start using karma as unit test runner. Currently, two modes are configured
via grunt.

continous: Can be run with "grunt unit-continuous". Watches files in the
background and reruns whenever a file changes. To be used in DEV
environment

single: Can be run with "grunt unit". Runs all unit tests once. To be used
in CI environment.
Introduce protractor

A symbolic end to end test is added as well.

Run "grunt e2e" to execute tests on a chrome browser.
Introduce travis-ci

Run a build on a travis-ci build server. Current steps:

1) Download all external dependencies
2) Run unit tests via karma on phantomjs
3) Run e2e tests via protractor on firefox
Merge branch 'master' into introduce-ci
Merge branch 'introduce-ci'