Also you overlooked Android, which on many devices is
either easy to
 'root' (i.e. jailbreak) and some manufacturers don't even restrict
 what you can run on it in the first place. 
Just try to find an Android device that doesn't have undocumented
hardware requiring binary blob drivers.  Control has to be applied from
the bottom up to be effective, after all; the first step is to get it
in place at the low levels.
/~\ The ASCII                             Mouse
\ / Ribbon Campaign
 X  Against HTML                mouse at 
rodents-montreal.org
/ \ Email!           7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B