House passes same-sex marriage bill, with 47 Republicans and every Democrat voting in favor