Added TinyG2 support
*  Separated GCodes from Grbl and TinyG when appropriate.
*  Added machine setting dialog options
   -  Added option to select device (Grbl, TinyG, TinyG2) this allows for
      correct handling of incoming data i.e. position, status, etc.
   -  Added "Init Script" option, this script is sent to device when device
      is detected after serial is open. This is helpful on devices like
      TinyG2 which currently does not have a way to save the settings,
      these have to be hard-coded or init every time.
*  Formalized device detect and added it to stateData.
*  Changed % Line sent to PC file pos as a %, since this is more correct
   since user can jump around and this won't really be % line sent.
*  Change version to 1.4.1 in prep for release.
*  Fixed bug with "serialBaud" variable not found when changing
   settings while serial port was open.
Update Machine Status and other miscellanies little features.
*  Status Panel:
   -  Remove work position, now only one set of XYZ values
      much like a DRO.
   -  Change font settings for ease to read.
*  Set default zero string to 0.000
*  Added JOG settings for:
   -  Auto update JOG values on from machine position.
   -  Request machine status on JOG set operations
      for example set to ZERO or set to JOG val.
* Fix issue with JOG not updating when using TinyG2.
* Fix issue with DRO not updating when using TinyG2 and refresh button.
Added Run Time, Pause State (runt time will continue),
*  Added pause menu, tool-bar button, icons and pause state.
*  Added Grbl DRO hack setting, if this is enabled and Grbl is the
   current device, the output GCODE will be used to update machine
   status; since Grbl does't have a verbose mode, and I seen issues
   if one  repeatedly queries Grbl for status while executing a program.
*  Enable commented-out code for run time status (elapsed time), also
   added the timer to display the data every 1000ms (1s).
*  Fixed state transitions to/from ABORT state.
Added support for OSX Mavericks
*  Moved to cv2 from cv on OpenCV, works better in OSX.
*  Fix issue where camera was not re-lases and application hang in OSX.
*  Fix FlexGridSize size which caused issues in OSX.
*  Fixed settings dialog display for OSX.
*  Changed order of panels for brand new installations.
*  Fixed default size for machine panel.
Update README.md and version file in prep for release.
Fixed Run time states
*  Make sure Run Time continues in break and pause state. Any other
   state and it will stop, also from any other state run will have
   the timer start value reset.
*  Updated more information in read me file.
Added Auto status request setting, few UI changes.
*  Updated read me file information.
*  Auto refresh can now be done even on RUN state, be ware if Grbl 0.8c
   or older is used, Grbl can start acting erroneous until reset, have
   not seen any issues with Grbl 0.9g.
*  UI changes:
   *  Consolidated Link and Machine setting panels.
   *  Removed all ":" from UIs since this punctuation in these cases
      are redundant, plus UI looks cleaner without them.
Added run time dialog option
*  Fixed issues with run time, concat() to seconds.
*  Added run time dialog option that will be pop at the end of program.
Optimization to prevent UI from being unresponsive on low speed machines.
* Moved decoding of status to program exec thread instead of doing
  the work on the GUI thread which would make the UI unresponsive when
  a lot of data is coming back.
* Added new events to deal with new status data and device detect.
* Removed unnecessary post events to UI, process queue will post event
  if there is any pending data.
* Remove machine status from toolbar as it was creating extra UI refresh
  issues; the machine status panel should provide all the information
  needed (basically removed duplication of information and work).
* Fixed issue where open document was allowed while state was ruining,
  this was a bug with where the UI an deprogram exec thread would get
  out of sync and none of the updates like program counter (PC) update
  will make no sense.
Update jogging function selection
* Changed JOG function selection from radio button to check-box, this
  allows one to select two out of three instead of all or only one.
* Also fixed serial delay, from 100ms to 20ms, it was originally 10ms
  but 100ms is too much of a delay so compromise with 20ms as oppose to
  old 10ms value.
Added new technique to reduce the number of UI events
* Prevent prog exec thread to keep unnecessary sending UI event, main wnd
  thread will send event when done with the queue processing, at this point
  is ok to post UI events.
Added new screen shoots Linux, Mac, Windows.
* Changed Machine settings to expand pull down for device, port and baud.
Update readme file
updated screen shots for Mac and Windows to include OpenCV2
Updated readme file
Update text for Auto MPOS feature in jogging panel.
Added script capability to custom buttons
* Added new config items for custom buttons
* Added new UI settings for custom buttons
* Fixed bug with init script not waiting for ACK
* Fixed bug on program exec thread to deal with waiting for ACK correctly.
  Previously since this function also process input queue it could call
  itself while waiting for ACK.
Updated read me file and screenshot
Merge branch 'master' into tinyG_support

Conflicts:
	README.md
Merge branch 'tinyG_support'

Added TinyG2 support, UI/Features updates, bug fixes.