Yes, set Diagram.validCycle. See http://gojs.net/latest/api/symbols/Diagram.html#validCycle and read about the various constants named “Cycle…” to choose the one that you want.
You cannot style the TextBlock using CSS, but you can set or bind a lot of properties on it: http://gojs.net/latest/api/symbols/TextBlock.html.
One advantage of using Canvas compared to SVG is that it doesn’t have the overhead of using DOM elements. But I suppose the inconvenience of not being able to share the same CSS rules for styling text as the rest of your page is a disadvantage. On the other hand, it is surprisingly infrequent that programmers really want to use the same fonts and stuff in diagrams as in the rest of the web page.