Stateful transforms compatible with 'mgcv' R package

Hi!
I've added the file *mgcv.py* containing the code for the following stateful transforms: *cr/cs*, *cc* and *te*.
Benoît. 
If `te` doesn't actually need to know about the inner workings of the spline basis generation functions and just calls them, then this makes me wonder whether we should just make the syntax
```
te(cr(x1, ...), cr(x2, ...), constraint="center")
```
From `te`'s point of view, this would mean that it just receives a set of pre-transformed basis vectors as its positional arguments, and all it has to worry about is taking the tensor product and applying the constraint. It would still need to be a stateful transform in order to handle `constraints="center"`, but it wouldn't need nearly so much complicated messing about with the stateful transform machinery. Also, if all we're trying to do is compute the mean of the tensor product matrices then it should be possible to do this without storing tons of intermediate data -- see `patsy.state.Center`. What do you think? Would this work?

[P.S.: I'd appreciate if you could avoid using the word ["lame"](http://bunnika.wordpress.com/2012/06/02/thats-so-lame/) (which literally refers to people who have difficulty walking) as a generic term for things that are bad. No need to reply to this part.]