"is it actually possible to swith renderer in runtime ? "
No, and it might be due ti the fact that without webGL, every single asset of your game is loaded at every given time, while with webGL only necessary parts are. So If a switch could be done, I would think it would force a complete reload which is not something you want to do mid game (in an option menu maybe, but canvas2d being faster than webgl does not mean fast enough in many cases, still would be nice for user experience to have that option in a graphic setting menu, although with every asset being loaded, the crash risk is real for PC with not enough memory, and even without that, the potential is that it may just load images from the disk, which may be a concern).
All in all, canvas2d is a fallback, nothing else, if there is an issue with webGL, then we either fixing it or working around is a better choice short, mid, and long term wise. Unless the issue is C2 specific, in that case fixing it would do the trick.
Game design is all about decomposing the core of your game so it becomes simple instructions.