Improve serial communication and add tinyG ack detect
* Removed blocking call from main window when writing to serial.
* Added regular expression to find ack and error-ack.
* Added WaitForAcknowledge() function.
* Change run/step/send gcode calls to use WaitForAcknowledge as oppose
  to just wait for any response. this will allow got actually waiting
  for a OK from device instead of any output that could be verbose
  information. This is what also allows to remove the blocking call.
* Added more error checking to SerialWrite.
* Removed dead code.
* Use "".join([]) instead of += much faster performance.
* Now sending initial "$" after port open to make sure tinyG goes into
  text mode.
* Better verbose and vverbose ouput.