Создаем объекты без наследования (от Object не считается)
var Point = Object.inherit({
     x: 0, // что то вроде значения по умолчанию
     y: 0, // что то вроде значения по умолчанию
    constructor: function(ax,ay) {
        this.x = ax;
        this.y = ay;
    },
    toString: function(){
		return "(x=" + this.x + " y=" + this.y + ")";
    }
});
Работает!
Вообще если уж сравнивать с C++ то присвоение свойств объекта в момент объявления это не есть правильно. Однако это полезная фича (на мой взгляд), тем более что у нас ситуация когда присваивание и есть объявление. Так мы имеем возможность присваивать значение свойств по умолчанию.
Усложняем 
var Point = Object.inherit({
        a: new Array(2),
    constructor: function(ax,ay) {
        this.a[0] = ax;
        this.a[1] = ay;
    }
});
Не работает. Вернее работает, но свойство 
а ведет себя как статическое свойство. Иными словами оно общее для всех экземпляров "класса" 
Point.
Посему заповедь. Хочешь свойство сложного типа, создавай его в конструкторе.
var Point = Object.inherit({
        a: null, //вообще без этой строчки можно обойтись, но выглядит красивым объявлением
    constructor: function(ax,ay) {
        this.a = new Array(2);
        this.a[0] = ax;
        this.a[1] = ay;
    }
});
Кстати, а можно ли с помощью этой библиотеки создавать статические свойства простых типов?