Don't use vm module

Don't use the node vm module. Use a closure and shadow inaccessible globals instead.

Implement drops.

Implement simulation ticks.