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});