Fix implementation of bytelayout flag for StructType
CheerpBackend: Introduce an intrinsic to get the distance between elements

It's always 1 on NBA and the sie in bytes on BA
CheerpBackend: new pointer analyzer logic
CheerpBackend: Unit tests for pointer analyzer
CheerpBackend: Pointer analyzer caching
CheerpBackend: Fixed bug in cheerp_create_closure
CheerpBackend: Fixed bug in pointer analyzer
CheerpBackend: Add timer and prefetch to pointeranalyzer
CheerpBackend: Minor optimization in PointerAnalyzer
CheerpBackend: pointer optimization passes
CheerpBackend: PointerAnalyzer is now a pass
CheerpBackend: Use hasByteLayout instead of isUnion
CheerpBackend: Fix code generation for unions

Conflicts:
	lib/CheerpWriter/CheerpWriter.cpp
CheerpBackend: Support getting a fake offset from COMPLETE_OBJECTS

It may still happen when doing ptrtoint of a function
Introduce support for generic byte layout structs

They are used to implement unions, including unions containing structures
CheerpBackend: Intrinsic should be analyzed first in PointerAnalyzer