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.
These notes pertain to all lines between 108-131: 

- Instead of checking `opts.dims &&` in each condition, do it before line 108: 
```js
// Normalize to the known default for Led.Matrix 
opts.dims = opts.dims || { rows: 8, columns: 8 }; 
```