add ComponentType enum..this is not ideal, but typeid/typeof can only

get us so far. i needed to do packet serial/deserialization and determine
at runtime what each component is, so i can cast to it properly, push
the appropriate structures into the packet, deserialize on the other end,
figure out which components were made, populate them.

tyepid/typeof also says that it is implementation dependent, in terms of
it needing a vtable lookup or not. this is a simple uint set by every
derived class of component. sure it requires being shitty and manually
specifying each component inside component.h. but what other choice
do i have, im' not sure...

the bottom line is that i needed to know what packet type to send over
(protobuf), and how to figure it out on the other end, this seems to be
the easiest way to do so.