WIP: generic number type

rough, rough start to supporting a generic number type. Breaks some tests already.

```julia
julia> Fun(sin,Interval(0.f0,1.f0);numbertype=Float32)
WARNING: Performing a REDFT00 of size 17
Fun{UltrasphericalSpace{0},Float32}(Float32[0.449926,0.425221,-0.0293447,-0.00449979,0.000154131,1.4129e-5],UltrasphericalSpace{0}(Interval{Float32}(0.0f0,1.0f0)))
```
(Float32 requires fewer coefficients to get to machine epsilon)

```julia
julia> Fun(sin,Interval(0.,1.);numbertype=Float64)
Fun{UltrasphericalSpace{0},Float64}([0.449926,0.425221,-0.0293447,-0.00449977,0.000154122,1.41354e-5,-3.2224e-7,-2.10898e-8,3.60358e-10,1.83358e-11,-2.50584e-13,-1.04265e-14],UltrasphericalSpace{0}(Interval{Float64}(0.0,1.0)))
```
default behavior

Note that numbertype should match the type of the `Interval` currently.

I tried to test this out with BigFloat using an N^2 transform, but it's too slow

```julia
julia> Fun(sin,Interval(BigFloat("0."),BigFloat("1.") );numbertype=BigFloat)
WARNING: Performing a REDFT00 of size 17
WARNING: Performing a REDFT00 of size 33
WARNING: Performing a REDFT00 of size 65
WARNING: Performing a REDFT00 of size 129
WARNING: Performing a REDFT00 of size 257
WARNING: Performing a REDFT00 of size 513
WARNING: Performing a REDFT00 of size 1025
WARNING: Performing a REDFT00 of size 2049
WARNING: Performing a REDFT00 of size 4097
WARNING: Performing a REDFT00 of size 8193
WARNING: Performing a REDFT00 of size 16385
^CERROR: interrupt
```