Implement the rest of the userdata constructors
Use PRuntime instead of BaseRuntime