message: Handled system item prop on bar button
  Implemented prepareForRecycle so that changing from system item to title works. Need to reset the button now that views are reused (recycled). So a bar button with system item can be reused as bar button without system item so need to reset it when unmounted
diff: @@ -58,9 +58,42 @@ using namespace facebook::react;
  NSString *testID = [[NSString alloc] initWithUTF8String: newViewProps.testID.c_str()];
  if (self.button.accessibilityIdentifier != testID)
  self.button.accessibilityIdentifier = testID;
  + NSString *systemItemVal = [[NSString alloc] initWithUTF8String: newViewProps.systemItem.c_str()];
  + if (systemItemVal.length) {
  + UIBarButtonSystemItem systemItem = [self systemItem:systemItemVal];
  + self.button = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:systemItem target:self action:@selector(buttonPressed)];
  + self.button.accessibilityIdentifier = testID;
  + }
  [super updateProps:props oldProps:oldProps];
  }
  +-(UIBarButtonSystemItem)systemItem:(NSString*)val
  +{
  + if ([val isEqualToString:@"done"]) return UIBarButtonSystemItemDone;
  + if ([val isEqualToString:@"cancel"]) return UIBarButtonSystemItemCancel;
  + if ([val isEqualToString:@"edit"]) return UIBarButtonSystemItemEdit;
  + if ([val isEqualToString:@"save"]) return UIBarButtonSystemItemSave;
  + if ([val isEqualToString:@"add"]) return UIBarButtonSystemItemAdd;
  + if ([val isEqualToString:@"flexible-space"]) return UIBarButtonSystemItemFlexibleSpace;
  + if ([val isEqualToString:@"fixed-space"]) return UIBarButtonSystemItemFixedSpace;
  + if ([val isEqualToString:@"compose"]) return UIBarButtonSystemItemCompose;
  + if ([val isEqualToString:@"reply"]) return UIBarButtonSystemItemReply;
  + if ([val isEqualToString:@"action"]) return UIBarButtonSystemItemAction;
  + if ([val isEqualToString:@"organize"]) return UIBarButtonSystemItemOrganize;
  + if ([val isEqualToString:@"bookmarks"]) return UIBarButtonSystemItemBookmarks;
  + if ([val isEqualToString:@"search"]) return UIBarButtonSystemItemSearch;
  + if ([val isEqualToString:@"refresh"]) return UIBarButtonSystemItemRefresh;
  + if ([val isEqualToString:@"stop"]) return UIBarButtonSystemItemStop;
  + if ([val isEqualToString:@"camera"]) return UIBarButtonSystemItemCamera;
  + if ([val isEqualToString:@"trash"]) return UIBarButtonSystemItemTrash;
  + if ([val isEqualToString:@"play"]) return UIBarButtonSystemItemPlay;
  + if ([val isEqualToString:@"pause"]) return UIBarButtonSystemItemPause;
  + if ([val isEqualToString:@"rewind"]) return UIBarButtonSystemItemRewind;
  + if ([val isEqualToString:@"fast-forward"]) return UIBarButtonSystemItemFastForward;
  + if ([val isEqualToString:@"undo"]) return UIBarButtonSystemItemUndo;
  + return UIBarButtonSystemItemRedo;
  +}
  +
  -(void)buttonPressed
  {
  UIView *buttonView = ((UIView *) [self.button valueForKey:@"view"]);
  @@ -72,6 +105,15 @@ using namespace facebook::react;
  ->onPress(NVBarButtonEventEmitter::OnPress{});
  }
  +- (void)prepareForRecycle
  +{
  + [super prepareForRecycle];
  + self.button = [[UIBarButtonItem alloc] init];
  + self.button.style = UIBarButtonItemStylePlain;
  + self.button.target = self;
  + self.button.action = @selector(buttonPressed);
  +}
  +
  #pragma mark - RCTComponentViewProtocol
  + (ComponentDescriptorProvider)componentDescriptorProvider
  