Simplified base type structures, preparing memory zone slots and internal type reflection

Ruby has type mask of 0x1f, Coral got all the way up to 0x3f and still has a lot of free bits for flags and some more base type structures while managing to have flags in an unsigned short field. This is due to the fact that Ruby uses a larger type with immediate values embedded in it, while Coral prefers to separate this at the cost of requiring slightly more memory. When there will be the time to optimize memory zones, base structures with similar sizes may come to separate unions to effectively reduce memory costs.