This feature is still a work in progress as of May 6 2017.
At long last, I'm working on a leveling feature in Universal Gcode Sender. The probe cycle and surface mesh collection are implemented along with the visualizer integration.
In this demo, I'm connected to a test Arduino running GRBL v1.1f. It has wires connected to the probe and ground pins which I'm shorting manually during each probe operation.
What remains is to slice the gcode into line segments which can be and adjust the z values according to the surface mesh. The most challenging part is slicing arcs. Fortunately, the UGS gcode parser has had this feature since the GRBL 0.8 days when arc performance wasn't as good as it is today.