fabric.js text alignment within group

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.7.0/fabric.js"></script>
<h3>originX/originY = left/top (default)</h3>

<div style="display:inline-block">
    <p>left/top not set</p>
    <canvas id="c1" width="200" height="200"></canvas>
</div>
<div style="display:inline-block">
    <p>text at 100/100</p>
    <canvas id="c2" width="200" height="200"></canvas>
</div>
<div style="display:inline-block">
    <p>cirlce at 100/100</p>
    <canvas id="c3" width="200" height="200"></canvas>
</div>
<div style="display:inline-block">
    <p>text at 100/100, circle 100/100</p>
    <canvas id="c4" width="200" height="200"></canvas>
</div>

<h3>text's originX/originY = center/center</h3>

<div style="display:inline-block">
    <p>left/top not set</p>
    <canvas id="c5" width="200" height="200"></canvas>
</div>
<div style="display:inline-block">
    <p>text at 100/100</p>
    <canvas id="c6" width="200" height="200"></canvas>
</div>
<div style="display:inline-block">
    <p>cirlce at 100/100</p>
    <canvas id="c7" width="200" height="200"></canvas>
</div>
<div style="display:inline-block">
    <p>text at 100/100, circle 100/100</p>
    <canvas id="c8" width="200" height="200"></canvas>
</div>

<h3>cirle's originX/originY = center/center</h3>

<div style="display:inline-block">
    <p>left/top not set</p>
    <canvas id="c9" width="200" height="200"></canvas>
</div>
<div style="display:inline-block">
    <p>text at 100/100</p>
    <canvas id="c10" width="200" height="200"></canvas>
</div>
<div style="display:inline-block">
    <p>cirlce at 100/100</p>
    <canvas id="c11" width="200" height="200"></canvas>
</div>
<div style="display:inline-block">
    <p>text at 100/100, circle 100/100</p>
    <canvas id="c12" width="200" height="200"></canvas>
</div>

<h3>cirle's AND text's originX/originY = center/center</h3>

<div style="display:inline-block">
    <p>left/top not set</p>
    <canvas id="c13" width="200" height="200"></canvas>
</div>
<div...

CSS

canvas {
    border: 1px solid #999;
}
.canvas-container {
    float: left;
    margin-right: 6px;
}

JavaScript

var canvas1 = window._canvas = new fabric.Canvas('c1');
var text = new fabric.Text('test', { fill: 'red' });
var circle = new fabric.Circle({ radius: 50, fill: '#eef' });
var group = new fabric.Group([ circle, text ]);
canvas1.add(group);

var canvas2 = window._canvas = new fabric.Canvas('c2');
var text = new fabric.Text('test', { fill: 'red', left: 100, top: 100 });
var circle = new fabric.Circle({ radius: 50, fill: '#eef' });
var group = new fabric.Group([ circle, text ]);
canvas2.add(group);

var canvas3 = window._canvas = new fabric.Canvas('c3');
var text = new fabric.Text('test', { fill: 'red' });
var circle = new fabric.Circle({ radius: 50, fill: '#eef', left: 100, top: 100 });
var group = new fabric.Group([ circle, text ]);
canvas3.add(group);

var canvas4 = window._canvas = new fabric.Canvas('c4');
var text = new fabric.Text('test', { fill: 'red', left: 100, top: 100 });
var circle = new fabric.Circle({ radius: 50, fill: '#eef', left: 100, top: 100 });
var group = new fabric.Group([ circle, text ]);
canvas4.add(group);

/* ============================================================================ */

var canvas5 = window._canvas = new fabric.Canvas('c5');
var text = new fabric.Text('test', { fill: 'red', originX: 'center', originY: 'center' });
var circle = new fabric.Circle({ radius: 50, fill: '#eef' });
var group = new fabric.Group([ circle, text ]);
canvas5.add(group);

var canvas6 = window._canvas = new fabric.Canvas('c6');
var text = new fabric.Text('test', { fill: 'red', left: 100, top: 100, originX: 'center', originY: 'center' });
var circle = new fabric.Circle({ radius: 50, fill: '#eef' });
var group = new fabric.Group([ circle, text ]);
canvas6.add(group);

var canvas7 = window._canvas = new fabric.Canvas('c7');
var text = new fabric.Text('test', { fill: 'red', originX: 'center', originY: 'center' });
var circle = new fabric.Circle({ radius: 50, fill: '#eef', left: 100, top: 100 });
var group = new fabric.Group([ circle, text...