+ Switch to doubles throughout
  + Use better starting co-ords that give square pixels
  + Allow reset to work, if drawing is paused
  + Invert the cursor square, instead of drawing it black