Proper event subscription/unsubscription

One possible cause of memory issues in Xamarin.iOS has been linked to
events sticking around too long, so instead hook them up in
ViewWillAppear and disconnect them in ViewWillDisappear.