introduced get or create functionality, so an existing canvas in the page is used if available, otherwise one is created