Without this solution, the user will get a not terribly informative `app._backend has no property "update"` or so. We could throw a more informative error, that might be useful.

The alternative solution that would fix `atom.py` is not to call `timer.start()` until after the canvas has been initialized. I'm also okay with that solution, since it's probably better that way anyway.