allowing context to be passed to avoid debugging woes and other issues with threejs compatibility