I liked the discussion in "A Geometric Approach to Differential Forms" by David Bachman, and "Tensors, Differential Forms And Variational Principles" Lovelock & Rund.
Firstly, vector spaces do not need coordinate systems. Vector spaces can be defined in abstract terms very well. A great book here is Halmos "Finite-dimensional vector spaces". Axler's book (suggested above) is also great.
In physics we usually do want to talk about spaces, and in particular topological spaces, and in particular about differentiable manifolds. Lets say you have such a manifold $M$ and a scalar function $F$ defined on this $M$. The function can be seen as a map from manifold to the space of real numbers $F: M\to \mathbb{R}$, i.e. for each point $p\in M$ on the manifold the function has a real value.
Next, working with abstract points on the manifold is cumbersome, so one usually defines a map from real numbers, or Cartesian product of several real number spaces to the manifold, i.e. $\varphi:\mathbb{R}\times\dots\mathbb{R}\to M$. Such that for each $p\in M$ there is a unique tuple of real numbers $\{x^i\}_{i=1 \dots N}$, such that $\varphi\left(x^1,\,x^2\,\dots\right)=p$. This is the coordinate system. We can now define $f=F\circ\varphi: \mathbb{R}\times\dots\mathbb{R}\to\mathbb{R}$.
Next, we usually want to know how much $F$ changes when we move from $p_1=\varphi\left(x^1\dots\right)$ to $p_2=\varphi\left(x^1+\delta x^1\dots\right)$. This can be expressed as $df=\sum_i \delta x^i \frac{\partial f}{\partial x^i}=\delta x^i \partial_i f$. Now, we can note that there is a similarity between vector spaces and partial derivatives, both can be added, multiplied by real numbers etc... The analogy is so good that you can define a tangent vector space at point $p\in M$. This tangent vector space, denoted by $T_p M$, contains all linear combinations of first-order partial derivatives at $p$, i.e. $T_p M=\{\partial_1, \partial_1 + \partial_2, \partial_1 -3 \partial_2\dots\}$. That's the vector space you were after. In particular a vector $v\in T_p M$, $v=v^i\partial_i$ is a differential operator that can be applied to any function on $M$ to give $v.f=v^i \partial_i f$, where $v^i$ are (real ) numbers.
Note that this vector space is only defined at a single point of the manifold. The collection of tangent spaces at all points is called the tangent bundle. There are many more things to cover there. Sternberg discusses it in "Group Theory and Physics".
So what is the practical utility of such long definition? Well, defining your vector basis through derivatives can be quite elegant. For example Cartesian basis vectors in 3d can be shown to be given by $\mathbf{\hat{x}}=\boldsymbol{\nabla}x,\,\mathbf{\hat{y}}=\boldsymbol{\nabla}y,\,\mathbf{\hat{z}}=\boldsymbol{\nabla}z$. Similarly, we can defined non-normalized basis for the spherical coordinates as $\boldsymbol{e}_r = \boldsymbol{\nabla}r,\, \boldsymbol{e}_\theta = \boldsymbol{\nabla}\theta, \boldsymbol{e}_\phi = \boldsymbol{\nabla}\phi$. So for any function $f=f\left(r,\,\theta,\,\phi\right)$, by definition,
$\boldsymbol{\nabla}f=\boldsymbol{e}_r\partial_r f + \boldsymbol{e}_\theta\partial_\theta f+ \boldsymbol{e}_\phi\partial_\phi f$,
but equivalently
$\boldsymbol{\nabla}f=\mathbf{\hat{x}}\partial_x f + \mathbf{\hat{y}}\partial_y f + \mathbf{\hat{z}}\partial_z f$.
What if $f=\theta$? Then:
$\boldsymbol{e}_\theta = \mathbf{\hat{x}}\partial_x \theta + \mathbf{\hat{y}}\partial_y \theta + \mathbf{\hat{z}}\partial_z \theta$
So now you know the decomposition of one of the spherical basis vectors into the Cartesian basis from calculus - no need for those pesky diagrams! For example $\tan\theta=\sqrt{x^2+y^2}/z$, so
$\partial_x \tan\theta=\frac{1}{\cos^2\theta}\partial_x \theta = \frac{x}{z\sqrt{x^2+y^2}}=\frac{\cos\phi}{r\cos\theta}$, so:
$\partial_x \theta = \frac{\cos\phi\cos\theta}{r}$
etc.
After some work, you can recover the normalized spherical basis $\mathbf{\hat{r}}=\boldsymbol{e}_r,\,\boldsymbol{\hat{\theta}}=r\boldsymbol{e}_\theta\,\boldsymbol{\hat{\phi}}=r\sin\theta\boldsymbol{e}_\phi$
So what? Well how about taking curl?
$\boldsymbol{\nabla}\times\boldsymbol{\hat{\theta}}=\boldsymbol{\nabla}\times r.\boldsymbol{\nabla}\theta=\boldsymbol{\nabla}r\times\boldsymbol{\nabla}\theta=\boldsymbol{\hat{r}} \times \boldsymbol{\hat{\theta}}/r$
Much easier than trying to work from Cartesian coordinates