Create abstract Object class

... that prevents from using undefined properties.

As you can see, the tests fail horribly due to undefined properties, that should have been defined. After you merge #172, I'll rebase it and then you'll see the tests passing. And from now on, there will be no undeclared properties.