`C.CHANGE_STATE` event + move `ensureGlobalStylesInjected` to `$engine.assignPlayerToCanvas` instead of Player constructor