Fixed a small issue where the lib asserted when a network connection broke.
Changed the pad device implementations to allow for variants.
Changed the touch device implementations to allow for variants.
Fixed a pointer aliasing warning.