Prevent computations in float16 in scalar and elemwise

Also add a bunch of tests
If the test inherits from TestCase, the "yield" mechanism does not work, see http://stackoverflow.com/questions/6689537/nose-test-generators-inside-class
I checked that the tests were executed by default, that is probably because the class name starts with "test_".
I'll remove line 205 and explain that in a comment.