优化SVG绘制，支持输出任意大小

通过配置viewbox缩放svg实现支持任意大小的二维码绘制!

我在[Qrcode](https://github.com/NewtonNiu/qrcode/blob/master/src/jquery.qrcode.js)中对IE用了```vml```绘制，也支持任意大小，```table```绘制想到了一个任意大小的方法，但是IE8对```table```的缩放有问题，求破~，下面是代码：

```js
var hasTransform = (function (element){
    var props = ['transformProperty', 'WebkitTransform', 'MozTransform', 'OTransform', 'msTransform'];
    for (var i in props) if (element.style[ props[i] ] !== undefined) return true;
    return false;
}(document.createElement('div')));

// create table
function createTable(qrcode, options){
    // qrcode count
    var moduleCount = qrcode.getModuleCount(),
        zoom = Math.min(options.width / (moduleCount * 10), options.height / (moduleCount * 10)),
        table = '<table style="border:0; margin:0; padding:0; border-collapse:collapse;'
            + 'width:' + moduleCount * 10 + 'px;'
            + 'height:' + moduleCount * 10 + 'px;'
            + 'background-color:' + options.background + ';overflow:hidden;display:block;',
        foreRect = '<td style="border:none;margin:0;padding:0;width:10px;height:10px;background-color:' + options.foreground + ';"></td>',
        backRect = '<td style="border:none;margin:0;padding:0;width:10px;height:10px;background-color:' + options.background + ';"></td>';

    if (hasTransform) {
        table += '-webkit-transform-origin: 0 0;'
            + '-moz-transform-origin: 0 0;'
            + '-ms-transform-origin: 0 0;'
            + '-o-transform-origin: 0 0;'
            + 'transform-origin: 0 0;'
            + '-webkit-transform:scale(' + zoom + ');'
            + '-moz-transform:scale(' + zoom + ');'
            + '-ms-transform:scale(' + zoom + ');'
            + '-o-transform:scale(' + zoom + ');'
            + 'transform:scale(' + zoom + ');">'
    } else {
        table += 'zoom:' + (zoom) + ';">'
    }

    // draw qrcode
    for (var row = 0; row < moduleCount; row++) {
        table += '<tr style="border:none;margin:0;padding:0;">';
        for (var col = 0; col < moduleCount; col++) {
            table += qrcode.isDark(row, col) ? foreRect : backRect;
        }
        table += '</tr>';
    }

    table += '</table>';

    return $(table)[0];
}
```