fix(modal): leaking watchers due to scope re-use

Previously, the backdropScope was being re-used and each time it was
linked, it would attach more watchers to the scope.

Resolves #1491

Note: Due to a bug in pre-1.2 AngularJS (replaced directives with templateUrls lose reference to the node, [plunker here](http://plnkr.co/edit/1dcBt1B3GQh6Z0Fuv28L?p=preview)), the backdrop's template can't be cached and re-used. Post-Angular 1.2 we should compile the backdrop element only once.