A pretty complex system; as best as I understand it, the render engine has to be a separate standalone item, then in Blender there is code to pass information back and forth out to this external version where the rendering etc. actually happens. This way the V-Ray core is not "inside" Blender, and only the code passing info back and forth has to end up open source. This level of complexity is why we have no plans to tackle Corona for Blender, it would simply consume too much time and slow down progress on the core functionality of Corona.