add all the relevant parts from my laser branch to edge

Here is my first proposal for the laser mode that allows to use the variable spindle feature to set the S value at real time.