refactor annotation generator to have two implementation options -- one
for OA and one for JSON (AnnotatorJS compatible)