#63 don't fire mark event repeatedly for the same mark; enable bindMarks when first mark is added; optimize iteration over marks a bit; unified error event