Improve description and name of the 3D viewer setting
Heavily rework the way layers are split in gcoder

In case we find two gcodes closer than 0.01mm in Z, we estimate the layer
height from the first layers and group gcodes based on this layer height. The
logic seems fine and the code seems to work, but it's nontrivial and I'm a bit
worried that it might break things.
Heavily speedup 2D viewer loading speed by using gcoder correctly (#412)
Merge branch 'master' of github.com:kliment/Printrun