Books index using Component Pattern

I've implemented a very simple book listing with a search filter. I've applied the Component Pattern, explained in more detail [here](https://hackpad.com/AngularJS-and-Components-Pattern-9hChwQQ4b24).

Highlights:

* There are no ng-controllers
* No explicit use of scope (unless utterly necessary)
* Each component is strictly comprised of 3 things: an isolate scope definition, a controller and an HTML template
* Shared state is passed explicitly through a component's isolate scope
* There's one controller per route and instantiated by the same, in order to initialise any shared state
* Data flows in a single direction (downwards)
* Inverse data flow (component inter-communication) has been solved in this particular PR passing a callback to a component where it will be triggered when the state is updated. Two more approaches have been proposed in the link mentioned above

I'd like to know if this pattern makes sense and if you see any objections on keep developing with it in mind?
I do like it. There are many advantages to it.

Please don't mind local/ad hoc things like the initialisation of the books list, it's only temporary.