The trick is to use the function sqrt(1-z), which is analytic at 0. It equals its power series within some circle of convergence.
Refer to the continuous binomial theorem, where this very function is described. Thus sqrt(1-z) is minus the sum of anzn, where an = (2n:n)/(2n-1)/4n. The series begins like this.
sqrt(1-z) = 1 - 2z/4 - 2z2/16 - 4z3/64 - 10z4/256 - 28z5/1024 - …
The ratio of adjacent terms is z times (2n-1)/(2n+2). Use the ratio test to demonstrate convergence for |z| < 1, and divergence for |z| > 1, giving a radius of convergence of 1.
Watch what happens when z = 1. The series starts at 1 and decreases monotonically. Suppose the nth partial sum goes negative. Let z approach 1, until even zn is practically 1. Now sqrt(1-z) is negative, and this is a contradiction. Therefore the coefficients sum to 0, and the series converges to 0 at z = 1.
Apply the weierstrass m test, and the power series approaches sqrt(1-z) uniformly on [0,1].
Find a partial sum in this series, a polynomial in z, that is within ε of sqrt(1-z). Then replace z with 1-x2. This gives a polynomial in x that is within ε of |x| on [-1,1]. This can be done for any ε.
Don't confuse this with a convergent power series. It is merely a sequence of polynomials, each more accurate than the last. If pn is the nth polynomial in the sequence, then p93 could have a different coefficient on x2 than p92. It doesn't settle down to a series.
Suppose a series approaches |x| on [-1,1] uniformly, or even pointwise. This makes |x| real analytic, and differentiable, yet |x| is not differentiable at 0.