function getLabelLevelBbox(suffix) {
        var cls = axId + (suffix || 'tick');
        if(!llbboxes[cls]) llbboxes[cls] = calcLabelLevelBbox(ax, cls, mainLinePositionShift);
        return llbboxes[cls];
    }
Draw one cartesian axis

@param {DOM element} gd
@param {object} ax (full) axis object
@param {object} opts
- @param {boolean} skipTitle (set to true to skip axis title draw call)

Depends on:
- ax._mainSubplot (from linkSubplots)
- ax._mainAxis
- ax._anchorAxis
- ax._subplotsWith
- ax._counterDomainMin, ax._counterDomainMax (optionally, from linkSubplots)
- ax._tickAngles (on redraw only, old value relinked during supplyDefaults)
- ax._mainLinePosition (from lsInner)
- ax._mainMirrorPosition
- ax._linepositions

Fills in:
- ax._vals:
- ax._gridVals:
- ax._selections:
- ax._tickAngles:
- ax._depth (when required only):
- and calls ax.setScale