US President Donald Trump has called off a planned historic summit with Kim Jong Un, he announced in a letter to the North Korean leader.