Tls: The tls class now emulates a pointer.
Alloc: CRTP won't work for our alloc class so use macros instead.

The issue is that we need to get the sizeof of the derived class as a
compile-time parameter which we can't have because the class hasn't
been fully defined yet.

In any case, the macros are pretty clean and work just as well.