canvas is now only added to DOM when context is requested.