Gun injuries cost US nearly $3bn a year in hospital charges