Removal of stubs and better primitive handling

Stubs are no longer generated for each type used in evaluated expression.

Primitive proxies are now generated in more simple manner, using
`proxy.__value[TYPE]` and all operations on primitives are handled via
ToolBox.
Extracting generics from source

Generic types are now extracted from source files if possible.

Also, some clean up in `TypeContext`.
Fixes after internal review