Add GCode class definition.
Add typemaps.
Remove use of Perl dSP macro in ExtrusionEntity (no longer relevant).
Move Layer::islands() method to C++.
Begin porting GCode object [storage] to C++.
Move GCode's extruders array to C++.
Add and use accessors for GCode::wipe_path.
Implement setting of GCode::extruder member.
Add and use accessors for GCode::last_pos.
Switch from using Pointf to using Point.
Fix XSP parameter name to be consistent with C++.
Fix/implement use of extruders map in GCode::Layer.
Make vector<size_t> type mappings use unsigned ints.
Class definition changes according to @alexrj's comments.
Port Extruder retract_speed_mm_min and scaled_wipe_distance methods to C++.
Complete port of GCode retract() to C++ (also, reset_e()).
Workaround for extruder_id being an array in set_extruder().
Try to fix wipe_path boolean check.
Add empty GCodeMotionPlanner constructor/destructor implementations.
Add missing accessors to GCode.xsp: standby_points, _seam_position, motion planners.