I can't answer all of your questions but I can tell you we use 254's looper code to run our code every 5, rather than 20, MS.
(Here is the code you want to look at:
https://github.com/Team254/FRC-2015/...il/Looper.java *
Also I recall 254 saying their nexus that communicated with the roboRIO for vision had about 40ms of Lag.
*Check out their Multilooper and Loopable to better understand how to use the code.