Fidel Castro, 89, makes rare public appearance in Cuba