Actually my laser has a focus light even when off, so that problem never occured to me. And letting it full power seemed to dangerous.
I think for focussing we could make a special command and in temperature interrupt which is called 3906 times per second we could then enable it for 10/3906 calls per second. Or maybe adjustable for low intensity. That would give less power which is better for focussing.
The coupling to G1 is for safety as it enables full power and between G0/G1 there is no pause (or was regarding your med) so we need it there anyway.
For adding the move see
insertWaitMovesIfNeeded
in motion.cpp. That is what you need. We could say dir=0 is wait, dir=1 means with laser on.
It is then evaluated in bresenham where it normally just returns with given delay to come back.
There you test for dir to enable laser before returning.
It pushes a move with fixed end speeds so just insert that where you new have your wait in G1 logic.