An emotional US President Barack Obama has unveiled new restrictions on gun purchases, saying the "constant excuses for inaction" have to stop.