Add dims constructor option for Led.Matrix devices

Supports array, object or string e.g.
dims: "16x8"
dims: [16,8]
dims: {columns: 16, rows: 8}
Valid dimensions are 8x8, 16x8 or 8x16
Also make sure led and digit functions in controllers are consistent.
No need to `String(opts.dims)` in these conditions since the value is already known to be a string