Added basic handle system

Created basic GameObject and Component classes with corresponding handle
classes and tables.

Also re-named ErrorIf to ThrowErrorIf