Generating Pairs of Random Numbers
This is the problem of sampling from a multivariate distribution.

Simple method

In your case, there is a fairly simple method that will probably suffice.  First, randomly pick a value for $X_1$ according to the marginal distribution on $X_1$.  In other words, we define

$$g(x_1) = \int_{x_2=x_1}^{x_2=1} f(x_1,x_2) \; dx_2,$$

the probability density function for $x_1$, and sample $X_1$ according to $g$.  Since this is a univariate distribution, you already know how to do that (using the methods you described).  Here we have $g(x_1) = 1 + 2x_1 - 3 x_1^2$.

Second, randomly pick a value for $X_2$ according to the conditional distribution on $X_2$ given the value of $X_1$ picked earlier.  This has probability density

$$h_{x_1}(x_2)  = f(x_1,x_2)/g(x_1),$$

which is also a univariate distribution, so you already know how to sample from $X_2$ (once $X_1$ is fixed).

More general method

Alternatively, you can apply any of the general methods for sampling from a multivariate distribution.  They are probably shooting a fly with a cannon -- they're probably much more complex than what you need.  But if you want a relatively simple one, you could take a look at slice sampling.