Issue406

this appears to fix issue406 on my machine. 

the main change is to move the highlighting to only be done when 'reload' is false inside the compile section of MainWindow

There is also a refactor to move the highlighter code more into 'editor' and integrate it into QTs signalling system instead of using plain method calls.