Reimplemented Less Equal (<) for Float values.

This can not really be considered a satisfactory
solution. Since LE (and also, Eq) is polymorphic, I add
a type (initialiser to Type.gentyp ()) to the LE node
and unify it with the type of the operands. Then in KNormal
I use this type to desambiguate the operator according the the
types of its operands.
Added a gc method to the generated LLVM funs.

Just for now I emit shadow-stack as a GC method for
every internal function. One needs to specify _some_
gc method so that llc does not reject the @llvm.gcroot
intrinsics.