Fix bug 957789 - Make canvas an optional dependency