I do favor the device approach. I think the robot will probably not behave identically for all physical devices. I think we should subclass it like I do with chrome or selendroid. Then you can just override the few methods (click, flick, swipe) that the robot controls.

Having robot set as a device will make it easier to integrate into selenium grid via desired caps rather than via a command-line flag as well.