Add type deduction for int and floats.

If an int or a float is != the default type (int / float) the type is
adapted (byte, short, long, double, real).
Also all possible calculations (TermExp) or casts (CastExp) are deduced
at compile time. That means $foo = 1 + 2 * 3; is deduced to short foo =
7;