ENH: stat ops on mixed numeric dtypes
how far shall we go on this? or is this a can of worms

```
(Pdb) p self.mixed_float.dtypes
A    float32
B    float32
C    float16
D    float64

# this coerces (no way around this)
(Pdb) p self.mixed_float.sum(1).dtype
dtype('float64')

# question is here - I can do block by block computations to give a mixed dtype result (slightly slower I guess.....then what about overflow issues?)

(Pdb) p self.mixed_float.sum(0).dtype
dtype('float64')
(Pdb) p self.mixed_float.sum(0)
A   -11.033966
B     0.356152
C     2.990944
D    -3.296513

# ok if a uniform dtype (works now)
(Pdb) p self.mixed_float.reindex(columns=['A','B']).sum().dtype
dtype('float32')
```
