fix($tooltip) : Call to $tooltip.hide cause an error.

Call to $tooltip.hide causes an error when the tooltip is already hidden .User should not have to check if a tooltip is shown before calling
$tooltip.hide, it should simply be a noop.

closes #437
move isShown=false before the digest on hide
chore(readme): explain the ngAnimate case