Refactored GrblController into AbstractController + GrblController.
In preparation for supporting future firmwares like TinyG or Smoothie.