WIP: Introducing Nuria's own Meta-system (See Nuria::MetaObject)

Features:
 - Tria, a code-generator based on LLVM/Clang
 - Tagging classes/structs with NURIA_INTROSPECT is enough to create
   all needed meta-data (Specific elements can be hidden using
   NURIA_SKIP).
 - Access to enums, methods and fields - If they're public
 - Custom annotations using NURIA_ANNOTATE (Can be applied to classes,
   enums, methods and fields).
 - Automatic type registration in the Qt meta system where possible.
 - Automatic detection and registration of conversion methods.
 - Plus a lot more

Reasons:
While Qt already offers a meta-system, it is quite limited in what's
actually possible to do after hitting a certain barrier. First and
foremost it's effectively limited to QObject sub-classes. Q_GADGET
doesn't offer much and is barely documented. Second, it's lacking a
method to annotate classes, methods, enums and fields - Or to be more
precise, the existing facilities (Namely Q_CLASSINFO and method tags)
are really limited and barely usable.