Prevent computations in float16 in scalar and elemwise

Also add a bunch of tests
My guess is that this is an old comment and that this would work.

from theano.tensor.basic import discrete_dtypes, float_dtypes