initial float support (wip)

they are parsed correctly and you can add them directly with -add, but it only works in the interactive mode.

compilation fails with a "don't know how to represent" error as it is, but if you comment out the else branch in `parse_number` it fails with an "annotation error: blocked block".

i've found [an email from you](https://mail.python.org/pipermail//pypy-dev/2014-February/012225.html) on the pypy-dev mailing list where you have run in a similar problem.

```
[translation:ERROR] AnnotatorError:
[translation:ERROR]
[translation:ERROR] Blocked block -- operation cannot succeed
[translation:ERROR]
[translation:ERROR]     v0 = getattr(self_0, ('_float_val'))
[translation:ERROR]
[translation:ERROR] In <FunctionGraph of (pixie.vm.numbers:42)Float.float_val at 0x7fae1fe55bd0>:
[translation:ERROR] Happened at file pixie/vm/numbers.py line 43
[translation:ERROR]
[translation:ERROR] ==>         return self._float_val
[translation:ERROR]
[translation:ERROR] Known variable annotations:
[translation:ERROR]  self_0 = SomeInstance(can_be_None=False, classdef=pixie.vm.numbers.Float)
[translation:ERROR]
```
I'd prefer to stick with this pattern as it's just as fast as the isinstance method, and it allows for extending to other types later. What we might consider is generating this programatically. RPython translation starts after this code is loaded and compiled, so there's nothing wrong with using exec or eval inside nested for loops to eval all of this. You don't even have to use globals, just generate a function via exec and then call `extend(_add, Type1._type, Type2._type)(eval(...))`