Allow new device type to be passed as an object

An example use case for this would be a new IR Sensor device is released (better range) but has not been added to Johnny-Five. Until it is added an experienced user could:

    distance = new five.Distance( { pin: "A2", device: {
      // Our new distance device type
      cm: {
        get: function() {
          return +(14650.08 * Math.pow(this.raw, -0.935) - 10).toFixed(2);
        }
      }
    });