Some header cleanup.
usedtypes: keep assembler temporary (revert once .size issue is fixed).
Split uniqtype into its own header.
Hack around gcc bug 63373 by explicitly sizing uniqtype symbols using asm directive.