who played Thomas Andrews in Titanic