compile: better types checks on virtual type
Two new TableElt are added for each global property of a virtual type,
one (TableEltVTClassColor) is used to store the color of the class of
the bound and the other (TableEltVTClassId) is for the identifier.
The C generation of ITypeCheck is therefore updated to use theses when
the static type is a virtual type.
Note that generics is still erased and that type checks on formal type
parameter is blindly (and wrongly) performed on the bound.
Signed-off-by: Jean Privat <jean@pryen.org>