Vector type IDs, and Graphics uses type ID macros
Some tests for RTTI, refactoring of the TypeID, and color lights

Hopefully this is still portable. Turns out that (in gcc anyway)
GetTypeID<int> is the same as the default GetTypeID (which did not
return a value at all!), this caused all kinds of issue with anything
containing unknown values potentially matching int values and so on.

So putting an int in a Property (or Container) class causes trouble with
RTTI templates, and should potentially be avoided. This was mainly from
the json parser (not the parser's fault though).