Noncommutative unique factorization domains