Prevent computations in float16 in scalar and elemwise

Also add a bunch of tests
ok. I think the PR is good. I reviewed it correctly expect for all the tensor tests where I went faster. So after this change, I'll merge the PR.