feat: delegating event handler
test(e2e): test the helloworld example

We need a custom build of chromedriver, so we can't use SauceLabs at
this moment.
refactor: recreate the selector for every compile run
feat: don't allow access to native properties via ngNode
refactor: name example files correctly
docs(readme): add missing information to readme

The readme was missing some required instructions to properly get set up, such as the installation of the karma cli. This commit adds those instructions. It also includes instructions explaining how to run the samples. Some general cleanup and organization to the file was done as part of the process of adding these additional details.

Closes #22
chore: update chromedriver to supper Chrome 35+

Support both WebKitShadowRoot and ShadowRoot.
chore(travis): use SL for helloworld e2e test
refactor: convert annotationProvider into a function
refactor: bootstrap and event handler
fix: speedup component template loading by caching

Needed as calling template.then is always asynchronous,
even when the promise is already resolved.
fix(ngIf): destroy the views so they can free the WatchGroups
feat: support using custom elements 

Example uses mozilla brick toggle button.