added userdata to avisynth interface; began g2d design structure