The EaselTS Typescript library provides a full, hierarchical display list, a core interaction model, and helper classes to make working with the HTML5 Canvas element much easier. This is a fork of CreateJS/EaselJS and all credit should go to that library
Why is automatic resizing only enabled when passing a DIV element? Whether the canvas should size on window resize should not be forced anyway. Probably better to leave this decision to the developer and enabled/disable this functionality through a (constructor) variable?
In addition, it may be desirable to have this functionality not only for window resizing, but also for holder element resizing. We could potentially poll in onTick. May be a bit hacky.
Why is it implemented in this weird way? The connect method can include the implementation directly (also works better for code completion). At the very least, connectImpl should be private.
There is nothing about this class that exclusively makes it a background color. I understand that's what you use it for, but that's not what the class IS. Maybe rename it to ColoredBox or ColoredRectangle or the like?
The Bitmap class in the JS version supports passing an HTMLCanvasElement or HTMLVideoElement in the constructor. We should have that functionality as well. This will have consequences for the onLoad stuff.