> var object = new Layer(window, this);

TJSの言語仕様の欠陥…とでも言うのかな。
スコープの問題で、Layer継承クラスの関数中で、上のように
Layerオブジェクトをnewしようとすると、こけるのよね。

それを回避するには、
var object = new global.Layer(window, this);

と書くとOK。