Событие mouseMove предназначено для перемещения по самому холсту, но я не могу определить, когда мышь покидает холст.
Можно ли определить, когда мышь выходит из холста?
Вы пробовали mouseout?
mouseout
element.addEventListener ("mouseout", myFunction, false);
Вот список всех событий мыши, которые применяются к html-элементам: http://www.w3schools.com/tags/ref_eventattributes.asp (прокрутите вниз до мышиных событий).