$\newcommand{\dif}{\mathrm{d}}$
The following is inspired by the pages 362-3 of Tammo tom Dieck's book "Algebraic Topology". The definition of tangent spaces and the differential exploits the fact that we have already defined the differential of a differentiable function $f\colon U\subset\mathbf{R}^n\to\mathbf{R^n}$: The differential
$$Df\colon U\to L(\mathbf{R}^n,\mathbf{R^n})$$
is given by the Jacobian:
$$
Df(a)(x)=\partial_if^j(a)x^ie_j=\begin{pmatrix}\partial_if^1(a)x^i\\
\vdots\\
\partial_if^n(a)x^i
\end{pmatrix}=\begin{pmatrix}\partial_1f^1(a)&\cdots&\partial_nf^1(a)\\
\vdots&&\vdots\\
\partial_1f^n(a)&\cdots&\partial_nf^n(a)
\end{pmatrix}\cdot\begin{pmatrix}
x^1\\
\vdots\\
x^n
\end{pmatrix}$$
The universal property
Let $M$ be a differentiable, $n$-dimensional manifold - a manifold with an atlas such that all transition charts are differentiable. Consider the following subset of $A$ for some $p\in M$:
\begin{equation*}
A_p:=\left\{x\in A:p\in\text{Dom}(x)\right\}
\end{equation*}
(According to the definition of an atlas, $A_p\neq\emptyset$ for all $p\in M$.)
A tangent space at $p\in M$ is a pair $(V,\phi)$, consisting of a $n$-dimensional real vector space $V=:T_pM$ and a map
\begin{align*}
\phi\colon A_p&\to L\left(T_pM,\mathbf R^n\right)\\
x&\mapsto\phi(x)=:\dif x_p
\end{align*}
with the following properties:
- $\dif x_p$ is an isomorphism for all $x\in A_p$. Thus,
\begin{equation*}
\left(\frac{\partial}{\partial x^1}|_p,\ldots,\frac{\partial}{\partial x^n}|_p\right):=(\mathrm{d}x_p^{-1}(e_1),\ldots,\mathrm{d}x_p^{-1}(e_n))
\end{equation*}
is a basis of $T_pM$ - the basis induced by $x$.
- We have
\begin{equation}\tag{1}
D(y\circ x^{-1})_{x(p)}=\dif y_p\circ\dif x_p{}^{-1}
\end{equation}
for all $x,y\in A_p$.
Lemma. The tangent space is defined up to a natural isomorphism:
Let $(V,i)$ and $(V',i')$ be tangent spaces at $p$. An isomorphism $f\in L(V',V)$ is called natural, if there is an $x\in A_p$ such that $f=\mathrm{d}x_p^{-1}\circ\mathrm{d}x_p'$. You can prove that there is exactly one natural isomorphism using the chain rule.
Definition - The Differential
Let $(M,A)$ and $(M',A')$ be two differentiable manifolds.
- A function $f\colon M\to M'$ is called differentiable at $p\in M$ if $y\circ f\circ x^{-1}$ is differentiable at $x(p)$ for some pair $(x,y)\in A_p\times A'{}_{f(p)}$. In this case, $y\circ f\circ x^{-1}$ is differentiable at $x(p)$ for all $(x,y)\in A_p\times A'{}_{f(p)}$.
- The differential of a differentiable function $f\colon M\to M'$ is defined as
\begin{equation*}
\mathrm{d} f_p:=\mathrm{d}y_{f(p)}^{-1}\circ D(y\circ f\circ x^{-1})_{x(p)}\circ\mathrm{d}x_p\in L(T_pM,T_{f(p)}M')
\end{equation*}
You can prove that $\mathrm{d} f_p$ doesn't depend on the choice of $(x,y)\in A_p\times A'_{f(p)}$ by using the chain rule.
Let me conclude with a useful equation:
\begin{equation*}
\mathrm{d}f_p\frac{\partial}{\partial x^i}|_p=\underbrace{(\mathrm{d}y_{f(p)}^{-1}\circ\underbrace{D(y\circ f\circ x^{-1})_{x(p)}\circ\underbrace{\mathrm{d}x_p)\frac{\partial}{\partial x^i}|_p}_{=e_i}}_{=\partial_i(y^j\circ f\circ x^{-1})_{x(p)}e_j}}_{=\partial_i(y^j\circ f\circ x^{-1})_{x(p)}\mathrm{d}y_{f(p)}^{-1}e_j}=\partial_i(y^j\circ f\circ x^{-1})_{x(p)}\frac{\partial}{\partial y^j}|_{f(p)}
\end{equation*}