my rewrite of (currently) the easycap somagic kernel driver