House passes $300 million bill requiring carbon monoxide detectors in public housing