“In sum, we hold that the District’s ban on handgun possession in the home violates the Second Amendment, as does its prohibition against rendering any lawful firearm in the home operable for the purpose of immediate self-defense. Assuming that Heller is not disqualified from the exercise of Second Amendment rights, the District must permit him to register his handgun and must issue him a license to carry it in the home.”