isCommentStart
Whether what starts at i is a comment rather than content.
findConstructEnd skips comments and string literals alike, and a caller counting whether a statement holds anything at all has to tell them apart: 'text' is a statement, -- text is not.