One option is to go for a standard PC-based CNC application such as Mach3 or Mach4, with a separate motion controller and stepper drives. This will do everything you want but would be more involved to set up. I have used Mach3 for many years but as it is long out of support, a new user would be better advised to use Mach4. There are alternatives such as UCCNC and Centroid Acorn as well. All these are designed for proper CNC rather than being aimed at 3G printers. Google will find them. If you don't mind a lot of home brewing you could also look at GRBL.