Add floating point support, not thoroughly tested. Fix some bugs in typechecker.