Make GCode an interface an refactor all GCode classes. 
This is required to implement alternative GCode classes 
e.g. for DB backend or without data[] array
Use GCodeStore to store gcodes instead of Arraylist.
This allows alternative implementations e.g. DatabaseStores
Add helper methods which use a buffer instead of a string.
Saves resources during gcode parsing
Use GCodeStore instead of Arraylist to store gcodes
Use GCodeStore instead of Arraylist.
Move load function into factory to allow customized loads
Use GcodeStore instead of Arraylist
Add buffer put with offset
Use Gcodestore instead of Arraylist
Custom extruder speed added