Split System.register into .register() and .registerModule().

'instantiate' -> .register()
'register' -> .registerModule()
This allows the two formats to evolve independently.

Add `require` argument in prep for sending relativeRequire via function arguments.
I removed this change for now.