Remove circular CanvasScene<->StateTracker dependency

With this change, paint engine and state tracker should be completely
independent from the UI layer.