fix(core): properly destroy eventBus
feat(core/Canvas): allow layering

This commit adds the method Canvas#getLayer(name:String) to retrieve
layers within the canvas. Layers are created on first access and in the
order in which Canvas#getLayer is called.