I propose now the following proof (thanks to R. Israel for the hint):
One can easily write down antiderivatives for polynomials. Let now $f\in C^0[a,b]$ and $(p_k)$ be a sequence of polynomials with $p_k\rightarrow f$ uniformly (by the Weierstrass approximation theorem); let $(P_k)$ be a sequence of polynomials with $P'_k=p_k$, made unique with this property by requiring that $P_k(a)$ be equal to some constant $C$ (independent of $k$) for all $k$. Let $\varepsilon>0$; since $(p_k)$ is a Cauchy sequence there is an index $N$ such that $||p_m-p_n||<\varepsilon/|b-a|$ for all $m,n\geq N$ (here $||\cdot||$ denotes the sup norm). By the Mean value theorem we have for all $x\in [a,b]$ and indices $n,m$
$|P_m(x)-P_n(x)|=|P_m(x)-P_n(x)-(P_m(a)-P_n(a)|\leq||p_m-p_n|||x-a|\leq||p_m-p_n|||b-a|$, hence, taking the sup wrt $x\in[a,b]$ gives $||P_m-P_n||\leq||p_m-p_n|||b-a|$. Therefore $(P_k)$ is a Cauchy sequence as $||P_m-P_n||<\varepsilon|b-a|/|b-a|$ whenever $m,n\geq N$; let $F\in C^0[a,b]$ be its limit (exists by the completeness of $C^0[a,b]$ wrt the sup norm). Then $F\in C^1(a,b)$ and $F'=f$, completing the proof.