Вам необходимо отслеживать текущее состояние кнопки мыши (нажата или не нажата) независимо от движений мыши.
Вы можете сделать это, подключив обработчики событий к событиям "mousedown" и "mouseup", аналогично тому, как вы подключали к событию "mousemove".
В этих обработчиках событий вы можете отслеживать текущее состояние первой кнопки мыши, обновляя глобальную переменную, указывающую, нажата ли кнопка в данный момент. Затем в обработчике «mousemove» вы можете проверить эту глобальную переменную и определить, следует ли рисовать при перемещении мыши.
При использовании событий mouseup и mousedown вам может потребоваться ограничить обработку только нажатием первой кнопки мыши. Вы можете сделать это, проверив, что свойство события "button" равно 0. Обратите внимание, что вы можете проверить и другие кнопки, а также отслеживать их.
Вы можете увидеть рабочий пример этого здесь: http://jsfiddle.net/mQtKz/