Introduced MetaGadget

Also, began to create AfterLoading.
Put AfterLoading where it belongs
Introduced TypedGadget, and made Gadgets easier to use

Introduced a global implicit transform from TypedTag to TypedGadget, so
we can use the two more interchangeably.