Also split out to separate class files like we did for pupdevices. Also make various EV3 and NXT sensor methods awaitable.