Fix memory leaks

Added a function to count the number of scopes created by the directives and some tests to check how show/hide affects the scope count.
In the datepicker, the scope count increment it is very noticeable because of the days buttons.
Changed the base $tooltip service to create/destroy a child tip element scope when show/hide is called. This seems to work on the docs pages, but I don't know if it has other side-effects I didn't notice, so this should be carefully tested in real application.
Is the digest really required there? Do your remember the reasoning behind switching to a $timeout?