DirectOutput framework for virtual pinball cabinets