Added support for expressions in attributes

Added support for expressions in spinner-key attribute (i.e. spinner-key="{{spinnerKey}}") Attributes exposed to the controller of a directive will not interpolate expressions. If an expression is provided for an attribute that is being passed into the controller the only way to interpolate it is to use $attrs.$observe() or $scope.$eval() which is evil.

According to the Angular documentation, it is a best practice to "use controller when you want to expose an API to other directives. Otherwise use link." (see: https://docs.angularjs.org/guide/directive (very bottom of the page).