The problem is that the function in your server-side controller requires an account as input:
public static Account saveAccount(Account acc)
You are setting this parameter on the action, but you are using the value of what is typed into the ui:inputText
box, which even if it is an account id, it is not an account object.
var newAccount= component.find("AccountId").get("v.value");
action.setParams({"acc" : newAccount});