test(tooltip): check scope after hiding and showing

Isolate scope contents should be the same after hiding and showing the
tooltip. The isolate scope's parent should also always be set to the
directive's scope correctly.

Reproduces #1191
fix(tooltip): link on demand

- Calling $digest is enough as we only need to digest the watchers in
  this scope and its children. No need to call $apply.

- Set invokeApply to false on $timeout for popUpDelay

- No need to test for cached reference when tooltip isn't visible as
  the tooltip has no scope.

Fixes #1450 and #1191
style(tooltip): fix indentation
refactor(rating): increase test coverage