Add heart directive

I'm not sure we want to do this, as it makes the code less portable.

Maybe we should be binding the data to the heart directive using isolate-scope: https://docs.angularjs.org/guide/directive#isolating-the-scope-of-a-directive