Prosecutors have charged Ryan Routh with the attempted assassination of former US president Donald Trump.