Add basic object type and garbage collector

This is pretty self-explanatory. The GC should be thoroughly tested.