Change declaration from assign to weak

This will nil-out the delegate when deallocated.
This prevents a crash that happens if the delegate is deallocated before the button-hiding animation completes

This was issue:
Animation Timers after delegate deallocated #33