So I ended up getting sucked into writing a device type for this today. It was a lot of fun! I now understand device types much better now.
Anyways, my completed device type can be found here: