provider architecture suggestion

In this PR you can see a suggestion of the provider-based module architecture.

* wrap all your files in [iife](http://en.wikipedia.org/wiki/Immediately-invoked_function_expression) to protect global namamespace. Always ;)
* name your module and depend demo app on it.
* create provider and configure it on the demo app config phase.

Please do not merge this PR, instead try to apply those suggestions on your own.

I'd suggest using grunt in the project to serve the demo page.
You can take a look at one of projects maintained by me https://github.com/ee/angular-ui-tree-filter
It has decent grunt configuration and all those rules applied.

Happy angular learning!