o Make userdata part of the GCodeParserCb struct.
o update docs.
o Make machine control just a receiver of GCodeParseCb events and
  writing to motor control. This way, the machine control is re-usable
  in printer stats and easy to test.
o The gcode parsing from stream is now a utility function of the gcode-parser.
o Hide the gcode parser object, as it is not needed directly (right now).