make ACE work better as a textarea replacement.

@ajaxorg/liskov 
fixes #1232 and #1239 

had to add EventEmitter._signal as a lightweight alternative to emit for events that should not be stoppable.