when remove, stop listening all events, rather than just navigate event.

The problem with only removing 'navigate' event is that it does not remove the `listener` reference on the superview(`region` in this case), resulting memory leak.