port+misc: add and use r5js.{Input,Output}Port.NULL.
runtime: strengthen args to r5js.trampoline.
node: clean up Node port impl.
datum: remove three no longer needed DatumTypes.
port+misc: eliminate useless base interface r5js.Port.
port: add isImplementedBy and addImplementation shims.
runtime+misc: pass ports directly on trampoline, without wrapping/unwrapping.
ast+runtime+misc: remove r5js.ast.{Input,Output}Port.