A comment's x and y can be null. This will occur if a project is imported from 2.0, a sprite that is
not currently selected has comments, and that project is immediately saved in 3.0 without switching
to the other sprite that has comments.
refactor schemas to support sprite2 and sprite3 files, while reusing rules in common with sb2 and
sb3 files
BREAKING CHANGE: Change to main API which now takes an additional boolean argument indicating
whether a sprite or project is being validated